/* 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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 148 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
		      {
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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 706 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 706, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    return true;
			  }
next_after_fail3:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 704 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 704, __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 1570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 1570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (!TYPE_OVERFLOW_SANITIZED (type)
)
		      {
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1569, __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 1581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1580, __FILE__, __LINE__);
			{
			  return true;
			}
next_after_fail6:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
/* #line 1562 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if ((INTEGRAL_TYPE_P (type)
 && TYPE_UNSIGNED (type))
 || (!TYPE_OVERFLOW_SANITIZED (type)
 && may_negate_without_overflow_p (t))
)
	    {
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1561, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail7:;
	    }
	}
        break;
      }
    case FIXED_CST:
      {
	{
/* #line 1567 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1567, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail8:;
	}
        break;
      }
    case REAL_CST:
      {
	{
/* #line 1573 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
/* #line 1573 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (t))
)
	    {
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1572, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail9:;
	    }
	}
        break;
      }
    case VECTOR_CST:
      {
	{
/* #line 1578 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
/* #line 1578 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (FLOAT_TYPE_P (TREE_TYPE (type)) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1577, __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 1754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1
)
      {
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1753, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __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 1757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1757, __FILE__, __LINE__);
		    {
		      return true;
		    }
next_after_fail30:;
		  }
	          break;
	        }
	      case TRUTH_NOT_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  {
/* #line 1759 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1759, __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 1761 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1761, __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 1763 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1763, __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 1765 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1765, __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 1767 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1767, __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 1769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 1769, __FILE__, __LINE__);
			    {
			      res_ops[0] = captures[0];
			      return true;
			    }
next_after_fail36:;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  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 2116 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2116, __FILE__, __LINE__);
	  {
	    return true;
	  }
next_after_fail37:;
	}
        break;
      }
    case SSA_NAME:
      {
	{
/* #line 2119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 2119 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0]))
)
	    {
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2118, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail38:;
	    }
	}
        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 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2123, __FILE__, __LINE__);
			{
			  res_ops[0] = captures[0];
			  return true;
			}
next_after_fail39:;
		      }
		    }
		  if (gimple_with_possible_nonzero_bits (_p1, valueize))
		    {
		      {
/* #line 2123 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2123, __FILE__, __LINE__);
			{
			  res_ops[0] = captures[0];
			  return true;
			}
next_after_fail40:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (gimple_with_possible_nonzero_bits (t, valueize))
  {
    {
/* #line 2121 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { t };
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2121, __FILE__, __LINE__);
      {
	res_ops[0] = captures[0];
	return true;
      }
next_after_fail41:;
    }
  }
  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 2130 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2130, __FILE__, __LINE__);
			  {
			    res_ops[0] = captures[0];
			    return true;
			  }
next_after_fail42:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 2128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2128, __FILE__, __LINE__);
	  {
	    res_ops[0] = captures[0];
	    return true;
	  }
next_after_fail43:;
	}
        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 2296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
/* #line 2296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && wi::eq_p (wi::to_wide (t), wi::min_value (type))
)
	    {
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2295, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail44:;
	    }
	}
        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 2301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
/* #line 2301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && wi::eq_p (wi::to_wide (t), wi::max_value (type))
)
	    {
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 2300, __FILE__, __LINE__);
	      {
		return true;
	      }
next_after_fail45:;
	    }
	}
        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 3914 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 3914, __FILE__, __LINE__);
				    {
				      return true;
				    }
next_after_fail46:;
				  }
			          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 3914 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 3914, __FILE__, __LINE__);
		    {
		      return true;
		    }
next_after_fail47:;
		  }
	          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:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail48:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail49:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail50:;
									}
								  }
								}
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail52:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __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:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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 ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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 ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail60:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail62:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail65:;
									}
								  }
								}
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail67:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail70:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail75:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
						  {
						    tree _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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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 ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail80:;
									}
								  }
								}
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail82:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail83:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail84:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __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:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail86:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail87:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail88:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail89:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __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:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail91:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __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;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail95:;
									}
								  }
								}
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail96:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail97:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail98:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail99:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __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:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail101:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail102:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail103:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail104:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __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:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail106:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail107:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail108:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail109:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __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:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail111:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail112:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail113:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail114:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __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:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail116:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail117:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail118:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail119:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __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:;
						      }
						  {
						    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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail121:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail122:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail123:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail124:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail125:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail126:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail127:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __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;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __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;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail130:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail131:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __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 CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __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 CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __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 CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __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:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
					        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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __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 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 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __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;
					      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:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail138:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail139:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail140:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail141:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail142:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail143:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail144:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail145:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail146:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail147:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail148:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail149:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail150:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail151:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail152:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail153:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail154:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail155:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail156:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail157:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail158:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail159:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail160:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail161:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail162:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail163:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
							        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail164:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail165:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail166:;
												      }
												  }
											        }
											      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail167:;
												}
											    }
											  }
										        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:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail168:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail169:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail170:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail171:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail172:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail173:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail174:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail175:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail176:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail177:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail178:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail179:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail180:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail181:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail182:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail183:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail184:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail185:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail186:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail187:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail188:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail189:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail190:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail191:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail192:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail193:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail194:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail195:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail196:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail197:;
										}
									    }
									  }
								        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:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail198:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail199:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail200:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail201:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail202:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail203:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail204:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail205:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail206:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail207:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail208:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail209:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail210:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail211:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail212:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail213:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail214:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail215:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail216:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail217:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail218:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail219:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail220:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail221:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail222:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail223:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail224:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail225:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail226:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail227:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail228:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail229:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail230:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail231:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail232:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail233:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail234:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail235:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail236:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail237:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail238:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail239:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail240:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail241:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail242:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail243:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail244:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail245:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail246:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail247:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail248:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail249:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail250:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail251:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail252:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail253:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail254:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail255:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail256:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail257:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail258:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail259:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail260:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail261:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail262:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail263:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail264:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail265:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail266:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail267:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail268:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail269:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4115 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4108, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail270:;
							}
						  }
						}
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail271:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail272:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail273:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail274:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail275:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail276:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail277:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail278:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail279:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail280:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail281:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail282:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail283:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail284:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail285:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail286:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail287:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail288:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail289:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail290:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail291:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail292:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail293:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail294:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail295:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail296:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail297:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail298:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail299:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail300:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail301:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail302:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail303:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail304:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail305:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail306:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail307:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail308:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail309:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail310:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail311:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail312:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail313:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail314:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail315:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail316:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail317:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail318:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail319:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail320:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail321:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail322:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail323:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail324:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail325:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail326:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail327:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail328:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail329:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail330:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail331:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail332:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail333:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail334:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail335:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail336:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail337:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail338:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail339:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail340:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail341:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail342:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail343:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail344:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4122 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4126 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4119, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail345:;
							}
						  }
						}
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail346:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail347:;
								    }
								}
							      }
							  }
						        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:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail348:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail349:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail350:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail351:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail352:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail353:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail354:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail355:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail356:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail357:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail358:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail359:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail360:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail361:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail362:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail363:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail364:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail365:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail366:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail367:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail368:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail369:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail370:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail371:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail372:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail373:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
					        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail374:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail375:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail376:;
										      }
										  }
									        }
									      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail377:;
										}
									    }
									  }
								        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:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail378:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail379:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail380:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail381:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail382:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail383:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail384:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail385:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail386:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail387:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail388:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail389:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail390:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail391:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail392:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail393:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail394:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail395:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail396:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail397:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail398:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail399:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail400:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail401:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail402:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail403:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
			        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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail404:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail405:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail406:;
								      }
								  }
							        }
							      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 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4130, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail407:;
								}
							    }
							  }
						        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:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail408:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail409:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail410:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail411:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail412:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail413:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail414:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail415:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail416:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail417:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail418:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail419:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail420:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail421:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail422:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail423:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail424:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail425:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail426:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail427:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail428:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail429:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail430:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail431:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail432:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail433:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail434:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail435:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail436:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail437:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail438:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail439:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail440:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail441:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail442:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail443:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail444:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail445:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail446:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail447:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail448:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail449:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail450:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail451:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail452:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail453:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail454:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail455:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail456:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail457:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail458:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail459:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail460:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail461:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail462:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail463:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail464:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail465:;
										}
									    }
									  }
								      }
								    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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail466:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail467:;
										    }
										}
									      }
									  }
								        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:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail468:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail469:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail470:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail471:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail472:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail473:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail474:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail475:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail476:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail477:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail478:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail479:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail480:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail481:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail482:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail483:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail484:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail485:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail486:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail487:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail488:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail489:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail490:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail491:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail492:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail493:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
							        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail494:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail495:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail496:;
												      }
												  }
											        }
											      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail497:;
												}
											    }
											  }
										        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:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail498:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail499:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail500:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail501:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail502:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail503:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail504:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail505:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail506:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail507:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail508:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail509:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail510:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail511:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail512:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail513:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail514:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail515:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail516:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail517:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail518:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail519:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail520:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail521:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail522:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail523:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail524:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail525:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail526:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail527:;
										}
									    }
									  }
								        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:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail528:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail529:;
												}
											    }
											  }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30, _q32 };
								  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail530:;
									}
								  }
								}
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail531:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail532:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail533:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail534:;
												}
											    }
											  }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30, _q32 };
								  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail535:;
									}
								  }
								}
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail536:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail537:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail538:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail539:;
												}
											    }
											  }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30, _q32 };
								  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail540:;
									}
								  }
								}
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail541:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail542:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail543:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail544:;
												}
											    }
											  }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30, _q32 };
								  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail545:;
									}
								  }
								}
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail546:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail547:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail548:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail549:;
												}
											    }
											  }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30, _q32 };
								  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail550:;
									}
								  }
								}
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail551:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail552:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
					        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 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30 };
								  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail553:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
					        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 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30 };
								  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail554:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
					        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 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30 };
								  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail555:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
					        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 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30 };
								  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail556:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      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 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30 };
								  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail557:;
									}
								  }
								}
							        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:
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail558:;
														}
													    }
													  }
												        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail559:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail560:;
														}
													    }
													  }
												        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail561:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail562:;
														}
													    }
													  }
												        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail563:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
							        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail564:;
														}
													    }
													  }
												        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail565:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail566:;
														}
													    }
													  }
												        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101, _q52 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail567:;
														    }
														}
													      }
													    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:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail568:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail569:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail570:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail571:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail572:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail573:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail574:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail575:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail576:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail577:;
												    }
												}
											      }
											    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:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail578:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail579:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail580:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail581:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail582:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail583:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail584:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail585:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail586:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail587:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail588:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail589:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail590:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail591:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail592:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail593:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail594:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail595:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail596:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail597:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail598:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail599:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail600:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail601:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail602:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail603:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
					        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail604:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail605:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail606:;
										      }
										  }
									        }
									      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail607:;
										}
									    }
									  }
								        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:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail608:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail609:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail610:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail611:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail612:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail613:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail614:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail615:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail616:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail617:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail618:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail619:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail620:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail621:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail622:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail623:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail624:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail625:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail626:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail627:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail628:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail629:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail630:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail631:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail632:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail633:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
			        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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail634:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail635:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail636:;
								      }
								  }
							        }
							      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 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4137, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail637:;
								}
							    }
							  }
						        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:
			        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail638:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail639:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20, _q22 };
						  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail640:;
							}
						  }
						}
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail641:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail642:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
			        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail643:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail644:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20, _q22 };
						  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail645:;
							}
						  }
						}
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail646:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail647:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
			        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail648:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail649:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20, _q22 };
						  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail650:;
							}
						  }
						}
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail651:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail652:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
			        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail653:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail654:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20, _q22 };
						  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail655:;
							}
						  }
						}
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail656:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail657:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail658:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail659:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20, _q22 };
						  {
/* #line 4147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4144, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail660:;
							}
						  }
						}
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail661:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail662:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
			        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail663:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail664:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20 };
						  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail665:;
							}
						  }
						}
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail666:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail667:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
			        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail668:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail669:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20 };
						  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail670:;
							}
						  }
						}
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail671:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail672:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
			        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail673:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail674:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20 };
						  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail675:;
							}
						  }
						}
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail676:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail677:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
			        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail678:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail679:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20 };
						  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail680:;
							}
						  }
						}
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail681:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail682:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail683:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail684:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20 };
						  {
/* #line 4160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4156, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail685:;
							}
						  }
						}
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail686:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail687:;
										    }
										}
									      }
									  }
								        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:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail688:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail689:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail690:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail691:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail692:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail693:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
					        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail694:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail695:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail696:;
												}
											    }
											  }
										        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91, _q42 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail697:;
												    }
												}
											      }
											    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:
			        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail698:;
										}
									    }
									  }
								        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail699:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
			        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail700:;
										}
									    }
									  }
								        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail701:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
			        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail702:;
										}
									    }
									  }
								        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail703:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
			        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail704:;
										}
									    }
									  }
								        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail705:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail706:;
										}
									    }
									  }
								        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 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81, _q32 };
/* #line 4174 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4169, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail707:;
										    }
										}
									      }
									    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:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail708:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail709:;
												}
											    }
											  }
										      }
										    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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail710:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail711:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail712:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail713:;
												}
											    }
											  }
										      }
										    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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail714:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail715:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail716:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail717:;
												}
											    }
											  }
										      }
										    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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail718:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail719:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail720:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail721:;
												}
											    }
											  }
										      }
										    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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail722:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail723:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail724:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail725:;
												}
											    }
											  }
										      }
										    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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail726:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail727:;
												    }
												}
											      }
											  }
										        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:
							        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail728:;
														}
													    }
													  }
												        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail729:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
							        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail730:;
														}
													    }
													  }
												        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail731:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
							        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail732:;
														}
													    }
													  }
												        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail733:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
							        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail734:;
														}
													    }
													  }
												        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail735:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail736:;
														}
													    }
													  }
												        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail737:;
														    }
														}
													      }
													    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:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail738:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail739:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail740:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail741:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail742:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail743:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail744:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail745:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail746:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail747:;
												    }
												}
											      }
											    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:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail748:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail749:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail750:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail751:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail752:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail753:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
					        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail754:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail755:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail756:;
												}
											    }
											  }
										        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail757:;
												    }
												}
											      }
											    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:
			        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail758:;
										}
									    }
									  }
								        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail759:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
			        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail760:;
										}
									    }
									  }
								        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail761:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
			        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail762:;
										}
									    }
									  }
								        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail763:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
			        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail764:;
										}
									    }
									  }
								        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail765:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail766:;
										}
									    }
									  }
								        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 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81 };
/* #line 4181 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4176, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail767:;
										    }
										}
									      }
									    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 6396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == double_type_node
)
      {
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 6395, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail768:;
      }
  }
  return false;
}

bool
gimple_float_value_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  {
/* #line 6417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == float_type_node
)
      {
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 6416, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail769:;
      }
  }
  return false;
}

bool
gimple_float16_value_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  {
/* #line 6441 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6441 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == float16_type_node
)
      {
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 6440, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail770:;
      }
  }
  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 7710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7710, __FILE__, __LINE__);
		    {
		      return true;
		    }
next_after_fail771:;
		  }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 7714 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 7714 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (TREE_CODE (captures[0]) == SSA_NAME
 && uniform_vector_p (gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])))
)
		      {
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7713, __FILE__, __LINE__);
			{
			  return true;
			}
next_after_fail772:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 7719 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (uniform_vector_p (captures[0])
)
      {
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7718, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail773:;
      }
  }
  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 7742 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q21, _p1 };
										    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7742, __FILE__, __LINE__);
										    {
										      res_ops[0] = captures[0];
										      res_ops[1] = captures[1];
										      res_ops[2] = captures[2];
										      return true;
										    }
next_after_fail774:;
										  }
									          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 7742 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p1 };
										    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7742, __FILE__, __LINE__);
										    {
										      res_ops[0] = captures[0];
										      res_ops[1] = captures[1];
										      res_ops[2] = captures[2];
										      return true;
										    }
next_after_fail775:;
										  }
									          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:
			        {
				  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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail776:;
								      }
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case LE_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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail777:;
								      }
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case EQ_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 (_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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail778:;
								      }
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case NE_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 (_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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail779:;
								      }
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case GE_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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail780:;
								      }
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail781:;
								      }
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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);
				switch (TREE_CODE (_p1))
				  {
				  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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail782:;
								    }
								}
							        break;
							      }
							    default:;
							    }
						      }
						    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);
				switch (TREE_CODE (_p1))
				  {
				  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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail783:;
								    }
								}
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
					        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);
				switch (TREE_CODE (_p1))
				  {
				  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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail784:;
								    }
								}
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
					        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);
				switch (TREE_CODE (_p1))
				  {
				  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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail785:;
								    }
								}
							        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 (_p1))
				  {
				  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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail786:;
								    }
								}
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
					        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);
				switch (TREE_CODE (_p1))
				  {
				  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 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 7747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 7745, __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_fail787:;
								    }
								}
							        break;
							      }
							    default:;
							    }
						      }
						    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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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]))
)
	{
/* #line 5345 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail788;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5346, __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_fail788:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail789;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5348, __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_fail789;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail789:;
	    }
	}
      else
	{
/* #line 5350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
)
	    {
/* #line 5352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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[3]) == INTEGER_CST
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && int_fits_type_p (captures[3], TREE_TYPE (captures[1]))))
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail790;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5364, __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_fail790;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail790:;
		}
	      else
		{
/* #line 5365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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]))
)
		    {
		      {
/* #line 5368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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[3]));
 bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[3], min));
/* #line 5375 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (above || below
)
			    {
/* #line 5376 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail791;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5377, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail791:;
				}
			      else
				{
/* #line 5378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail792;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5379, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  constant_boolean_node (above ? true : false, type);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail792:;
				    }
				  else
				    {
/* #line 5380 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail793;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5381, __FILE__, __LINE__);
					  {
					    tree tem;
					    tem =  constant_boolean_node (above ? false : true, type);
					    res_op->set_value (tem);
					    return true;
					  }
next_after_fail793:;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail794;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1068, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail794:;
  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 (div))
{
/* #line 408 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail795;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail795:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail796;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3835, __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_fail796:;
  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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail797;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2612, __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_fail797:;
	}
    }
  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 (shift))
{
/* #line 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail798;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3542, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_int_cst (type, 0);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail798:;
	    }
	  else
	    {
	      {
/* #line 3543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3545 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3559 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail799;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3560, __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_fail799;
						    }
						  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_fail799;
						_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_fail799;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail799:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail800;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3561, __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_fail800:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail801;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3105, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail801:;
  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 (SIGNBIT))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail802;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6795, __FILE__, __LINE__);
  {
    tree tem;
    tem =  integer_zero_node;
    res_op->set_value (tem);
    return true;
  }
next_after_fail802:;
  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 (inner_op), const enum tree_code ARG_UNUSED (neg_inner_op), const enum tree_code ARG_UNUSED (outer_op))
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2632 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[0])
)
		{
/* #line 2636 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (outer_op == PLUS_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail803;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2637, __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_fail803;
			  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_fail803;
			    _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_fail803;
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail803:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail804;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2638, __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_fail804;
			  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_fail804;
			    _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 (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail804;
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail804:;
		    }
		}
	    }
	  else
	    {
/* #line 2639 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
)
		{
/* #line 2641 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (outer_op == PLUS_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail805;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2642, __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_fail805;
			      _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 (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail805;
			    _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_fail805;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail805:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail806;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2643, __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_fail806;
			      _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 (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail806;
			    _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_fail806;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail806:;
		    }
		}
	      else
		{
/* #line 2647 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (types_match (type, captures[0])
)
		    {
		      {
/* #line 2648 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree cst = const_binop (outer_op == inner_op
 ? PLUS_EXPR : MINUS_EXPR,
 type, captures[1], captures[2]);
/* #line 2651 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail807;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2652, __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_fail807:;
			    }
			  else
			    {
/* #line 2654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (INTEGRAL_TYPE_P (type) && cst
 && wi::to_wide (cst) == wi::min_value (type)
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail808;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2656, __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_fail808:;
				}
			      else
				{
				  {
/* #line 2658 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
/* #line 2659 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (utype
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail809;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2660, __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_fail809;
						_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_fail809;
						_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_fail809;
					      res_op->ops[0] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail809:;
					}
				  }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  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)
, const combined_fn ARG_UNUSED (TANH), const combined_fn ARG_UNUSED (SINH), const combined_fn ARG_UNUSED (COSH))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail810;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6278, __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_fail810;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail810:;
    }
  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 combined_fn ARG_UNUSED (ffs))
{
  {
/* #line 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 7318 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (integer_zerop (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail811;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7319, __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_fail811:;
	}
      else
	{
/* #line 7320 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) > prec
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail812;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7321, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR ? true : false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail812:;
	    }
	  else
	    {
/* #line 7322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail813;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7323, __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_fail813;
		      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_fail813:;
		}
	    }
	}
  }
  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)
, const enum tree_code ARG_UNUSED (outer_op), const enum tree_code ARG_UNUSED (inner_op))
{
/* #line 217 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (real_zerop (captures[2])
 && real_zerop (captures[3])
 && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
)
    {
      {
/* #line 220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (outer_plus && !inner_plus
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail814;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail814:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail815;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail815:;
	    }
      }
    }
  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)
, const combined_fn ARG_UNUSED (SIGNBIT))
{
/* #line 6800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (captures[0])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail816;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6801, __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_fail816;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail816:;
    }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail817;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2620, __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_fail817:;
	}
    }
  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)
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3180 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail818;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3181, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail818:;
		}
	      else
		{
/* #line 3182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail819;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3183, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail819:;
		    }
		}
	    }
	  else
	    {
/* #line 3184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail820;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3185, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail820:;
		}
	      else
		{
/* #line 3186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail821;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3187, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail821:;
		    }
		}
	    }
	}
  }
  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)
, 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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail822;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1469, __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_fail822;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail822:;
  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 (cmp))
{
  {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5597 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 5599 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail823;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5600, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (known_eq (off0, off1), type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail823:;
	    }
	  else
	    {
/* #line 5601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail824;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5602, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (known_ne (off0, off1), type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail824:;
		}
	      else
		{
/* #line 5603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail825;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5604, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (known_lt (off0, off1), type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail825:;
		    }
		  else
		    {
/* #line 5605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail826;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5606, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (known_le (off0, off1), type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail826:;
			}
		      else
			{
/* #line 5607 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail827;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5608, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (known_ge (off0, off1), type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail827:;
			    }
			  else
			    {
/* #line 5609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail828;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5610, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (known_gt (off0, off1), type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail828:;
				}
			    }
			}
		    }
		}
	    }
	}
      else
	{
/* #line 5611 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (equal == 0
)
	    {
/* #line 5613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == EQ_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail829;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5614, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail829:;
		}
	      else
		{
/* #line 5615 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == NE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail830;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5616, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (true, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail830:;
		    }
		}
	    }
	}
  }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 1874 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail831;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1877, __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_fail831:;
    }
  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 (cmp))
{
/* #line 1936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 1940 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 1944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (code == LT_EXPR || code == GE_EXPR
)
	    {
/* #line 1945 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (TREE_OVERFLOW (lo)
)
		{
		  gimple_seq *lseq = seq;
		  if (lseq
		      && (!single_use (captures[0])))
		    lseq = NULL;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail832;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1946, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_int_cst (type, (code == LT_EXPR) ^ neg_overflow);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail832:;
		}
	      else
		{
/* #line 1947 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (code == LT_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])))
		        lseq = NULL;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail833;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1948, __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_fail833:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])))
		        lseq = NULL;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail834;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1949, __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_fail834:;
		    }
		}
	    }
	  else
	    {
/* #line 1950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (code == LE_EXPR || code == GT_EXPR
)
		{
/* #line 1951 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (TREE_OVERFLOW (hi)
)
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])))
		        lseq = NULL;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail835;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1952, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_int_cst (type, (code == LE_EXPR) ^ neg_overflow);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail835:;
		    }
		  else
		    {
/* #line 1953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (code == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail836;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1954, __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_fail836:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail837;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1955, __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_fail837:;
			}
		    }
		}
	      else
		{
/* #line 1956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (!lo && !hi
)
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])))
		        lseq = NULL;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail838;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1957, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_int_cst (type, code == NE_EXPR);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail838:;
		    }
		  else
		    {
/* #line 1958 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (code == EQ_EXPR && !hi
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail839;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1959, __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_fail839:;
			}
		      else
			{
/* #line 1960 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (code == EQ_EXPR && !lo
)
			    {
			      gimple_seq *lseq = seq;
			      if (lseq
			          && (!single_use (captures[0])))
			        lseq = NULL;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail840;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1961, __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_fail840:;
			    }
			  else
			    {
/* #line 1962 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (code == NE_EXPR && !hi
)
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])))
				    lseq = NULL;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail841;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1963, __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_fail841:;
				}
			      else
				{
/* #line 1964 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (code == NE_EXPR && !lo
)
				    {
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])))
				        lseq = NULL;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail842;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1965, __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_fail842:;
				    }
				  else
				    {
/* #line 1966 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (0
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])))
					    lseq = NULL;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail843;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1967, __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_fail843:;
					}
				      else
					{
					  {
/* #line 1969 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 1979 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (etype && hi && !TREE_OVERFLOW (hi)
)
						{
/* #line 1980 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  if (code == EQ_EXPR
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])))
						        lseq = NULL;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail844;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1981, __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_fail844;
							      }
							    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_fail844;
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  hi;
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail844:;
						    }
						  else
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])))
						        lseq = NULL;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail845;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1982, __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_fail845;
							      }
							    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_fail845;
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  hi;
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail845:;
						    }
						}
					  }
					}
				    }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail846;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2336, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail846:;
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (eqcmp))
{
/* #line 5283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5284 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5292 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail847;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5294, __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_fail847;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  build_zero_cst (ty);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail847:;
	    }
      }
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (acmp))
{
  {
/* #line 4630 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[1]);
/* #line 4631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (tree_int_cst_sgn (cst) == 1
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail848;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4632, __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_fail848:;
	}
  }
  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)
)
{
/* #line 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail849;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 330, __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_fail849;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail849:;
    }
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail850;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6223, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail850:;
  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)
, const enum tree_code ARG_UNUSED (bitop))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail851;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1217, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail851:;
  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)
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (neg_op))
{
/* #line 568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 575 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!HONOR_SIGNED_ZEROS (captures[1]) && !HONOR_INFINITIES (captures[1])
)
	{
/* #line 577 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail852;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 578, __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_fail852:;
	    }
	  else
	    {
/* #line 580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (real_less (TREE_REAL_CST_PTR (captures[0]), &dconst0)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail853;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 581, __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_fail853:;
		}
	    }
	}
    }
  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)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail854;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail854;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail854:;
    }
  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))
{
/* #line 1731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!CONSTANT_CLASS_P (captures[0])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail855;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1734, __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 (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail855;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail855:;
    }
  else
    {
      {
/* #line 1743 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree cst1 = const_binop (bitop, type, captures[0], captures[2]);
/* #line 1744 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (cst1
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail856;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1745, __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_fail856:;
	    }
	  else
	    {
	      {
/* #line 1746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree cst2 = const_binop (bitop, type, captures[1], captures[2]);
/* #line 1747 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cst2
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail857;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1748, __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_fail857:;
		    }
	      }
	    }
      }
    }
  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 (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
/* #line 2422 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
	{
/* #line 2424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail858;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2425, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail858:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail859;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2426, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[3];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail859:;
	    }
	}
      else
	{
/* #line 2428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if ((code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
	    {
/* #line 2430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail860;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2431, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail860:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail861;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2432, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[3];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail861:;
		}
	    }
	  else
	    {
/* #line 2434 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == 0
 && ((code1 == LE_EXPR && code2 == GE_EXPR)
 || (code1 == GE_EXPR && code2 == LE_EXPR))
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail862;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2437, __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_fail862:;
		}
	      else
		{
/* #line 2439 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp <= 0
 && (code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail863;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2442, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (false, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail863:;
		    }
		  else
		    {
/* #line 2443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp >= 0
 && (code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail864;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2446, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (false, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail864:;
			}
		    }
		}
	    }
	}
  }
  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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail865;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1234, __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_fail865:;
  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)
)
{
/* #line 170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail866;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail866:;
    }
  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 combined_fn ARG_UNUSED (copysigns))
{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail867;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 872, __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_fail867;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail867:;
    }
  else
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail868;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 873, __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_fail868:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail869;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5859, __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_fail869;
	  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_fail869:;
    }
  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)
)
{
/* #line 903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (! FLOAT_TYPE_P (type)
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail870;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 905, __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_fail870:;
    }
  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)
, const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 1147 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (utype
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail871;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1148, __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_fail871;
		    }
		  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_fail871;
		    }
		  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_fail871;
		_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_fail871;
		  }
		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_fail871;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail871:;
	}
  }
  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 (div))
{
  {
/* #line 473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (div == EXACT_DIV_EXPR
 || optimize_successive_divisions_p (captures[3], captures[0])
)
	{
/* #line 480 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!overflow
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail872;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 481, __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_fail872:;
	    }
	  else
	    {
/* #line 482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (type)
 || mul != wi::min_value (TYPE_PRECISION (type), SIGNED)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail873;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 484, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_zero_cst (type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail873:;
		}
	    }
	}
  }
  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 (cmp))
{
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail874;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4552, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail874:;
    }
  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)
, const enum tree_code ARG_UNUSED (shift), const enum tree_code ARG_UNUSED (mod))
{
/* #line 712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail875;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 713, __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_fail875;
	    _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_fail875;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail875:;
    }
  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)
, const combined_fn ARG_UNUSED (FMIN_ALL))
{
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_finite_math_only
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail876;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3216, __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_fail876:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail877;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6622, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail877:;
  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)
)
{
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail878;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7046, __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_fail878:;
    }
  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 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail879;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4537, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail879:;
    }
  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)
)
{
/* #line 521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
    {
/* #line 525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (types_match (type, float_type_node)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail880;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 526, __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_fail880;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail880:;
	}
      else
	{
/* #line 527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (types_match (type, double_type_node)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail881;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 528, __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_fail881;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail881:;
	    }
	  else
	    {
/* #line 529 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (types_match (type, long_double_type_node)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail882;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 530, __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_fail882;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail882:;
		}
	    }
	}
    }
  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 (op))
{
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6674 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail883;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6675, __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_fail883;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail883:;
	}
      else
	{
	  {
/* #line 6676 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail884;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __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_fail884;
		      }
		    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_fail884;
		      }
		    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_fail884;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail884:;
	  }
	}
    }
  else
    {
/* #line 6679 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 6682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 6690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail885;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6708, __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_fail885;
			        }
			      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_fail885;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail885:;
			}
		      else
			{
			  {
/* #line 6709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 6734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail886;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6741, __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_fail886;
					  }
					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_fail886;
					  }
					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_fail886;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail886:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  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 1461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail887;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1462, __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_fail887;
	    }
	  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_fail887;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail887:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[1])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail888;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1279, __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_fail888;
      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_fail888;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail888:;
  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)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3054 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail889;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3060, __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_fail889:;
      }
    }
  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 (cmp))
{
  {
/* #line 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (code == MAX_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail890;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4353, __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_fail890;
		  }
		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_fail890;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail890:;
	}
      else
	{
/* #line 4354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (code == MIN_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail891;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4355, __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_fail891;
		      }
		    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_fail891;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail891:;
	    }
	  else
	    {
/* #line 4356 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (code == EQ_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail892;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4357, __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_fail892;
			    }
			  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_fail892;
			_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_fail892;
			  }
			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_fail892;
			  }
			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_fail892;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail892:;
		}
	    }
	}
  }
  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)
, const combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (COS), const combined_fn ARG_UNUSED (SIN))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail893;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6257, __FILE__, __LINE__);
      {
	res_op->set_op (SIN, type, 1);
	res_op->ops[0] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail893:;
    }
  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)
, const enum tree_code ARG_UNUSED (bitop))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[1])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail894;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1286, __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_fail894;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail894:;
  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 (cmp), const combined_fn ARG_UNUSED (bswap))
{
  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree ctype = TREE_TYPE (captures[1]);
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail895;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3979, __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_fail895;
	    }
	  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 (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
	  if (!_r1) goto next_after_fail895;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail895:;
  }
  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)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3089 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail896;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3094, __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_fail896;
		  }
		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_fail896;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail896:;
      }
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail897;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1296, __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_fail897:;
  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))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail898;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1063, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail898:;
  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)
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && CHAR_TYPE_SIZE == 8
 && tree_fits_uhwi_p (captures[2])
)
    {
      {
/* #line 4013 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4024 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TYPE_PRECISION (type) > prec
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (type)
 && bits < prec && bits + 8 >= prec
)
	    {
	      {
/* #line 4028 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree nst = build_int_cst (integer_type_node, prec - 8);
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail899;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4029, __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_fail899;
			    }
			  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_fail899;
			_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_fail899;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[0] = _r1;
		    }
		    res_op->ops[1] = captures[2];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail899:;
	      }
	    }
	  else
	    {
/* #line 4030 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (bits + 8 == prec
)
		{
/* #line 4031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (TYPE_UNSIGNED (st)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail900;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4032, __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_fail900;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail900:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail901;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4033, __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_fail901;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail901:;
		    }
		}
	      else
		{
/* #line 4034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (bits < prec && bits + 8 > prec
)
		    {
		      {
/* #line 4035 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail902;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4041, __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_fail902;
				  }
				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_fail902;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail902:;
		      }
		    }
		}
	    }
      }
    }
  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 combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail903;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3966, __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_fail903:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail904;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1306, __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_fail904;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail904:;
  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 (sq), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math
)
    {
/* #line 4939 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
	{
/* #line 4942 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail905;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4943, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail905:;
	    }
	  else
	    {
/* #line 4946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == NE_EXPR || !HONOR_NANS (captures[0])
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail906;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4947, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (true, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail906:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail907;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4949, __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_fail907:;
		}
	    }
	}
      else
	{
/* #line 4950 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0)
)
	    {
/* #line 4953 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == LT_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail908;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4954, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail908:;
		}
	      else
		{
/* #line 4956 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == GE_EXPR && !HONOR_NANS (captures[0])
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail909;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4957, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (true, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail909:;
		    }
		  else
		    {
/* #line 4959 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail910;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4960, __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_fail910:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail911;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4968, __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_fail911:;
			}
		    }
		}
	    }
	  else
	    {
/* #line 4969 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4976 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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
 real_inf (&tow);
 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 5026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == GT_EXPR || cmp == GE_EXPR
)
			{
/* #line 5027 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2)
)
			    {
/* #line 5029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (HONOR_INFINITIES (captures[0])
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail912;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5030, __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_fail912:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail913;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5031, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (false, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail913:;
				}
			    }
			  else
			    {
/* #line 5033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (ncmp != ERROR_MARK
)
				{
/* #line 5034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (ncmp == GE_EXPR
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail914;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5035, __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_fail914:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail915;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5036, __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_fail915:;
				    }
				}
			    }
			}
		      else
			{
/* #line 5038 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2)
)
			    {
/* #line 5042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0])
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail916;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5043, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (true, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail916:;
				}
			      else
				{
/* #line 5046 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0])
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail917;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5047, __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_fail917:;
				    }
				  else
				    {
/* #line 5050 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (! HONOR_INFINITIES (captures[0])
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail918;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5051, __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_fail918:;
					}
				      else
					{
/* #line 5053 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  if (0
)
					    {
					      gimple_seq *lseq = seq;
					      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail919;
					      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5054, __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_fail919;
						  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_fail919;
						  res_op->ops[1] = _r1;
						}
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail919:;
					    }
					}
				    }
				}
			    }
			  else
			    {
/* #line 5058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (ncmp != ERROR_MARK && ! HONOR_NANS (captures[0])
)
				{
/* #line 5059 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (ncmp == LT_EXPR
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail920;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5060, __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_fail920:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail921;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5061, __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_fail921:;
				    }
				}
			      else
				{
/* #line 5063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (ncmp != ERROR_MARK &&
0
)
				    {
/* #line 5064 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (ncmp == LT_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail922;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5065, __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_fail922;
					      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_fail922;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail922:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail923;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5068, __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_fail923;
					      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_fail923;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail923:;
					}
				    }
				}
			    }
			}
		  }
		}
	    }
	}
    }
  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)
, const enum tree_code ARG_UNUSED (bit_op), const enum tree_code ARG_UNUSED (shift))
{
/* #line 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
/* #line 3582 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (mask
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail924;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3583, __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_fail924;
		      }
		    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_fail924;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  mask;
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail924:;
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail925;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1780, __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_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 (cmp))
{
/* #line 4727 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4730 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 widest_int quot;
/* #line 4731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail926;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4733, __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_fail926:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail927;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4734, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail927:;
	    }
      }
    }
  else
    {
/* #line 4735 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail928;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4738, __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_fail928:;
	}
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail929;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5647, __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_fail929;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail929:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 2019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail930;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2020, __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_fail930:;
    }
  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 (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail931;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1319, __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_fail931:;
  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 (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail932;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1491, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail932:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail933;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1324, __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_fail933:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail934;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1329, __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_fail934:;
  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 (cmp))
{
/* #line 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail935;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4537, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail935:;
    }
  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 (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail936;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1337, __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_fail936:;
  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)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail937;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2073, __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_fail937:;
    }
  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)
, const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (COS), const combined_fn ARG_UNUSED (TAN))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail938;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6268, __FILE__, __LINE__);
      {
	res_op->set_op (TAN, type, 1);
	res_op->ops[0] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail938:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail939;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1196, __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_fail939:;
  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)
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail940;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2323, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail940:;
    }
  else
    {
/* #line 2324 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail941;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2325, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail941:;
	}
    }
  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 4839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail942;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4840, __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_fail942:;
    }
  else
    {
/* #line 4842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail943;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4844, __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_fail943:;
	}
      else
	{
/* #line 4846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
 && !tree_expr_signaling_nan_p (captures[1])
 && !tree_expr_maybe_signaling_nan_p (captures[0])
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail944;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4849, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail944:;
	    }
	  else
	    {
/* #line 4851 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (TREE_CODE (captures[0]) == REAL_CST
 && REAL_VALUE_ISNAN (TREE_REAL_CST (captures[0]))
 && !tree_expr_signaling_nan_p (captures[0])
 && !tree_expr_signaling_nan_p (captures[1])
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail945;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4855, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (cmp == NE_EXPR, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail945:;
		}
	      else
		{
/* #line 4857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (REAL_VALUE_ISINF (TREE_REAL_CST (captures[1]))
 && MODE_HAS_INFINITIES (TYPE_MODE (TREE_TYPE (captures[1])))
)
		    {
		      {
/* #line 4859 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4869 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (code == GT_EXPR
 && !(HONOR_NANS (captures[0]) && flag_trapping_math)
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail946;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4871, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (false, type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail946:;
			    }
			  else
			    {
/* #line 4872 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (code == LE_EXPR
)
				{
/* #line 4874 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0])
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail947;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4875, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  constant_boolean_node (true, type);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail947:;
				    }
				  else
				    {
/* #line 4878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (!flag_trapping_math
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail948;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4879, __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_fail948:;
					}
				    }
				}
			      else
				{
/* #line 4882 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if ((code == EQ_EXPR && !(HONOR_NANS (captures[0]) && flag_trapping_math))
 || code == GE_EXPR
)
				    {
				      {
/* #line 4884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 4885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  if (neg
)
					    {
					      gimple_seq *lseq = seq;
					      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail949;
					      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4886, __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_fail949:;
					    }
					  else
					    {
					      gimple_seq *lseq = seq;
					      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail950;
					      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4887, __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_fail950:;
					    }
				      }
				    }
				  else
				    {
/* #line 4889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (code == LT_EXPR
)
					{
					  {
/* #line 4890 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 4891 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (neg
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail951;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4892, __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_fail951:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail952;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4893, __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_fail952:;
						}
					  }
					}
				      else
					{
/* #line 4896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  if (code == NE_EXPR
)
					    {
					      {
/* #line 4897 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 4898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  if (! HONOR_NANS (captures[0])
)
						    {
/* #line 4899 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (neg
)
							{
							  gimple_seq *lseq = seq;
							  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail953;
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4900, __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_fail953:;
							}
						      else
							{
							  gimple_seq *lseq = seq;
							  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail954;
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4901, __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_fail954:;
							}
						    }
						  else
						    {
/* #line 4902 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      if (neg
)
							{
							  gimple_seq *lseq = seq;
							  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail955;
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4903, __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_fail955:;
							}
						      else
							{
							  gimple_seq *lseq = seq;
							  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail956;
							  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4904, __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_fail956:;
							}
						    }
					      }
					    }
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail957;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1361, __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_fail957;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail957:;
  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 (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3180 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail958;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3181, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail958:;
		}
	      else
		{
/* #line 3182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail959;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3183, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail959:;
		    }
		}
	    }
	  else
	    {
/* #line 3184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail960;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3185, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail960:;
		}
	      else
		{
/* #line 3186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail961;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3187, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail961:;
		    }
		}
	    }
	}
  }
  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)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
)
    {
/* #line 1503 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail962;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1504, __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_fail962;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail962:;
	}
      else
	{
/* #line 1505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail963;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1506, __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_fail963;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[4];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail963:;
	    }
	}
    }
  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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail964;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail964;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail964:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail965;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1291, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail965:;
  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)
, const combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail966;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3963, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail966:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail967;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1376, __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_fail967:;
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail968;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 348, __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_fail968;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail968:;
    }
  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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail969;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 330, __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_fail969;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail969:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
  {
/* #line 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[0]));
/* #line 4666 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (ic == icmp
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail970;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4667, __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_fail970:;
	}
      else
	{
/* #line 4668 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (ic == ncmp
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail971;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4669, __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_fail971:;
	    }
	}
  }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail972;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1386, __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_fail972;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail972:;
  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), const enum tree_code ARG_UNUSED (out))
{
/* #line 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail973;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5820, __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_fail973:;
      }
    }
  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 (cmp))
{
/* #line 4680 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (single_use (captures[0])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail974;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4681, __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_fail974:;
    }
  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)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail975;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail975;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail975:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail976;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1391, __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_fail976:;
  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)
)
{
/* #line 4696 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail977;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4699, __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_fail977;
	  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_fail977:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail978;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1990, __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_fail978:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5659 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5669 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (wi::to_wide (cst) == max
)
	    {
/* #line 5671 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == GT_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail979;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5672, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail979:;
		}
	      else
		{
/* #line 5673 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == GE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail980;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5674, __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_fail980:;
		    }
		  else
		    {
/* #line 5675 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail981;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5676, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (true, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail981:;
			}
		      else
			{
/* #line 5677 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == LT_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail982;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5678, __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_fail982:;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 5679 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (wi::to_wide (cst) == min
)
		{
/* #line 5681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == LT_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail983;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5682, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (false, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail983:;
		    }
		  else
		    {
/* #line 5683 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail984;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5684, __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_fail984:;
			}
		      else
			{
/* #line 5685 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail985;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5686, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (true, type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail985:;
			    }
			  else
			    {
/* #line 5687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == GT_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail986;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5688, __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_fail986:;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 5689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (wi::to_wide (cst) == max - 1
)
		    {
/* #line 5691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == GT_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail987;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5692, __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_fail987:;
			}
		      else
			{
/* #line 5696 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == LE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail988;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5697, __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_fail988:;
			    }
			}
		    }
		  else
		    {
/* #line 5701 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (wi::to_wide (cst) == min + 1
)
			{
/* #line 5703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail989;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5704, __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_fail989:;
			    }
			  else
			    {
/* #line 5708 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == LT_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail990;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5709, __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_fail990:;
				}
			    }
			}
		      else
			{
/* #line 5713 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5724 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR
)
				{
				  {
/* #line 5725 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree st = signed_type_for (TREE_TYPE (captures[2]));
/* #line 5727 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (cst == captures[2] && cmp == LE_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail991;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5728, __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_fail991;
					        }
					      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_fail991:;
					}
				      else
					{
/* #line 5729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  if (cst == captures[2] && cmp == GT_EXPR
)
					    {
					      gimple_seq *lseq = seq;
					      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail992;
					      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5730, __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_fail992;
						    }
						  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_fail992:;
					    }
					  else
					    {
/* #line 5731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (cmp == LE_EXPR
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail993;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5732, __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_fail993;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  build_zero_cst (st);
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail993:;
						}
					      else
						{
/* #line 5733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  if (cmp == GT_EXPR
)
						    {
						      gimple_seq *lseq = seq;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail994;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5734, __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_fail994;
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  build_zero_cst (st);
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail994:;
						    }
						}
					    }
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail995;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5249, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail995:;
  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 combined_fn ARG_UNUSED (COS), const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (TAN))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail996;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6283, __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_fail996;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail996:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail997;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4548, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail997:;
    }
  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 (op))
{
/* #line 2004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail998;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2006, __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_fail998:;
    }
  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 (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
/* #line 2488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
	{
/* #line 2490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail999;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2491, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[3];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail999:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1000;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2492, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1000:;
	    }
	}
      else
	{
/* #line 2494 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if ((code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
	    {
/* #line 2496 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1001;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2497, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[3];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1001:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1002;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2498, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1002:;
		}
	    }
	  else
	    {
/* #line 2500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == 0
 && ((code1 == LT_EXPR && code2 == GT_EXPR)
 || (code1 == GT_EXPR && code2 == LT_EXPR))
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1003;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2503, __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_fail1003:;
		}
	      else
		{
/* #line 2505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp >= 0
 && (code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1004;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2508, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (true, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1004:;
		    }
		  else
		    {
/* #line 2509 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp <= 0
 && (code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1005;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2512, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (true, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1005:;
			}
		    }
		}
	    }
	}
  }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1006;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5890, __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_fail1006;
		_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_fail1006;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_zero_cst (t);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1006:;
      }
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
    {
/* #line 4567 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
	{
	  {
/* #line 4569 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1007;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4572, __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_fail1007;
		    _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_fail1007;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1007:;
	  }
	}
      else
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1008;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4573, __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_fail1008;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1008:;
	}
    }
  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 (div))
{
/* #line 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1009;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 428, __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_fail1009;
	  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_fail1009:;
    }
  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)
)
{
/* #line 1622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (! TYPE_UNSIGNED (type)
 && ! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1010;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1625, __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_fail1010;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1010:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1011;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5491, __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_fail1011;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1011:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5084 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (fmt.can_represent_integral_type_p (type1)
 && fmt.can_represent_integral_type_p (type2)
)
	    {
/* #line 5094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == ORDERED_EXPR || cmp == UNORDERED_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1012;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5095, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (cmp == ORDERED_EXPR, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1012:;
		}
	      else
		{
/* #line 5096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (TYPE_PRECISION (type1) > TYPE_PRECISION (type2)
 && type1_signed_p >= type2_signed_p
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1013;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5098, __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_fail1013;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1013:;
		    }
		  else
		    {
/* #line 5099 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (TYPE_PRECISION (type1) < TYPE_PRECISION (type2)
 && type1_signed_p <= type2_signed_p
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1014;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5101, __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_fail1014;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[0] = _r1;
			    }
			    res_op->ops[1] = captures[2];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1014:;
			}
		      else
			{
/* #line 5102 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (TYPE_PRECISION (type1) == TYPE_PRECISION (type2)
 && type1_signed_p == type2_signed_p
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1015;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5104, __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_fail1015:;
			    }
			}
		    }
		}
	    }
      }
    }
  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 combined_fn ARG_UNUSED (reduc))
{
  {
/* #line 7543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int i = single_nonzero_element (captures[1]);
/* #line 7544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (i >= 0
)
	{
	  {
/* #line 7545 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1016;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7550, __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_fail1016;
		    _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_fail1016;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1016:;
	  }
	}
  }
  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 enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1017;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5305, __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_fail1017:;
    }
  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)
)
{
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1018;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7026, __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_fail1018:;
    }
  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)
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1019;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3542, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_int_cst (type, 0);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1019:;
	    }
	  else
	    {
	      {
/* #line 3543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3545 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3559 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1020;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3560, __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_fail1020;
						    }
						  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_fail1020;
						_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_fail1020;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1020:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1021;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3561, __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_fail1021:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2781 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1022;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2784, __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_fail1022;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1022:;
	    }
	}
    }
  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 combined_fn ARG_UNUSED (reduc))
{
  {
/* #line 7558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (elt
 && !HONOR_SNANS (type)
 && !HONOR_SIGNED_ZEROS (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1023;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7564, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  elt;
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1023:;
	}
  }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1024;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1802, __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_fail1024;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] =  build_each_one_cst (type);
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1024:;
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1025;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5562, __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_fail1025;
	        }
	      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_fail1025:;
      }
    }
  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))
{
/* #line 3072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1026;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3082, __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_fail1026;
		  }
		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_fail1026;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1026:;
      }
    }
  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 (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 5111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
 && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 5113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5128 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (fmt.can_represent_integral_type_p (itype) && ! exception_p
)
	    {
	      {
/* #line 5129 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (real_compare (LT_EXPR, cst, &imin)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1027;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5153, __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_fail1027:;
		    }
		  else
		    {
/* #line 5155 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (real_compare (GT_EXPR, cst, &imax)
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1028;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5156, __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_fail1028:;
			}
		      else
			{
/* #line 5159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cst_int_p
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1029;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5160, __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_fail1029:;
			    }
			  else
			    {
/* #line 5166 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1030;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5167, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (cmp == NE_EXPR, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1030:;
				}
			      else
				{
				  {
/* #line 5169 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 gcc_checking_assert (!overflow_p);
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1031;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5173, __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_fail1031:;
				  }
				}
			    }
			}
		    }
	      }
	    }
      }
    }
  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 (div))
{
/* #line 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1032;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 591, __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_fail1032;
	    }
	  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_fail1032:;
    }
  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 combined_fn ARG_UNUSED (tans), const combined_fn ARG_UNUSED (atans))
{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1033;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6129, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1033:;
    }
  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 enum tree_code ARG_UNUSED (rotate))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1034;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3327, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1034:;
  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), const enum tree_code ARG_UNUSED (icmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type)
 || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
)
    {
      {
/* #line 4656 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[0]));
/* #line 4658 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1035;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4659, __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_fail1035:;
	    }
	  else
	    {
/* #line 4660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1036;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4661, __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_fail1036:;
		}
	    }
      }
    }
  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)
)
{
/* #line 3120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (TREE_CODE (type) != COMPLEX_TYPE
 && (! ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_UNDEFINED (type))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1037;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3123, __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_fail1037;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1037:;
    }
  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 (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1038;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6516, __FILE__, __LINE__);
      {
	res_op->set_op (tos, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1038:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6674 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1039;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6675, __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_fail1039;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1039:;
	}
      else
	{
	  {
/* #line 6676 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1040;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __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_fail1040;
		      }
		    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_fail1040;
		      }
		    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_fail1040;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1040:;
	  }
	}
    }
  else
    {
/* #line 6679 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 6682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 6690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1041;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6708, __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_fail1041;
			        }
			      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_fail1041;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1041:;
			}
		      else
			{
			  {
/* #line 6709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 6734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1042;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6741, __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_fail1042;
					  }
					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_fail1042;
					  }
					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_fail1042;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1042:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  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 (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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1043;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3235, __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_fail1043;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1043:;
  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)
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1044;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6526, __FILE__, __LINE__);
      {
	res_op->set_op (tos, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1044:;
    }
  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 (cmp))
{
/* #line 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
    {
/* #line 4567 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
	{
	  {
/* #line 4569 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1045;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4572, __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_fail1045;
		    _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_fail1045;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1045:;
	  }
	}
      else
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1046;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4573, __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_fail1046;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1046:;
	}
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 4793 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (single_use (captures[0]) && single_use (captures[2])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1047;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4794, __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_fail1047:;
    }
  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 enum tree_code ARG_UNUSED (sgncmp), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1048;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5481, __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_fail1048;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1048:;
    }
  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 combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1049;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6413, __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_fail1049;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1049:;
    }
  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 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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[2])))
)
    {
      {
/* #line 4814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree type1 = TREE_TYPE (captures[2]);
 if (TREE_CODE (captures[2]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
 {
 REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[2]);
 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 4831 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (newtype)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1050;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4832, __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_fail1050;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		{
		  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_fail1050;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1050:;
	    }
      }
    }
  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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1051;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1420, __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_fail1051;
	    _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_fail1051;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1051:;
    }
  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)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1052;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6228, __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_fail1052:;
  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))
{
/* #line 6755 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6774 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  {
/* #line 6775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree ntype = TREE_TYPE (captures[2]);
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1053;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6776, __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_fail1053;
		    _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_fail1053;
		      }
		    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_fail1053;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1053:;
	  }
	}
      else
	{
	  {
/* #line 6777 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1054;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6778, __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_fail1054;
		        }
		      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_fail1054;
		        }
		      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_fail1054;
		    _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_fail1054;
		      }
		    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_fail1054;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1054:;
	  }
	}
    }
  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)
)
{
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1055;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1449, __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_fail1055;
	    _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_fail1055;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1055:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1056;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2356, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1056:;
  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 combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (COS))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6295 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1057;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6297, __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_fail1057;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1057:;
	}
    }
  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)
)
{
/* #line 3949 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1058;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3950, __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_fail1058:;
    }
  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 (op))
{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1059;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5939, __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_fail1059;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1059:;
    }
  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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1060;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1060;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1060:;
    }
  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)
)
{
/* #line 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1061;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 330, __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_fail1061;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1061:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1062;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1495, __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_fail1062:;
  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 (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3180 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1063;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3181, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1063:;
		}
	      else
		{
/* #line 3182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1064;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3183, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1064:;
		    }
		}
	    }
	  else
	    {
/* #line 3184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1065;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3185, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1065:;
		}
	      else
		{
/* #line 3186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1066;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3187, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1066:;
		    }
		}
	    }
	}
  }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5597 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 5599 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1067;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5600, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (known_eq (off0, off1), type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1067:;
	    }
	  else
	    {
/* #line 5601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1068;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5602, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (known_ne (off0, off1), type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1068:;
		}
	      else
		{
/* #line 5603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1069;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5604, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (known_lt (off0, off1), type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1069:;
		    }
		  else
		    {
/* #line 5605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1070;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5606, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (known_le (off0, off1), type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1070:;
			}
		      else
			{
/* #line 5607 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1071;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5608, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (known_ge (off0, off1), type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail1071:;
			    }
			  else
			    {
/* #line 5609 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1072;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5610, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (known_gt (off0, off1), type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1072:;
				}
			    }
			}
		    }
		}
	    }
	}
      else
	{
/* #line 5611 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (equal == 0
)
	    {
/* #line 5613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == EQ_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1073;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5614, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1073:;
		}
	      else
		{
/* #line 5615 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == NE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1074;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5616, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (true, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1074:;
		    }
		}
	    }
	}
  }
  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)
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6317 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1075;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6318, __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_fail1075;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1075:;
	}
    }
  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 (mod))
{
/* #line 620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1076;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 621, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1076:;
    }
  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)
)
{
/* #line 4475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1077;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4476, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[2];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1077:;
    }
  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 enum tree_code ARG_UNUSED (neeq))
{
/* #line 5622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && ptrs_compare_unequal (captures[0], captures[1])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1078;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5624, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (neeq != EQ_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1078:;
    }
  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)
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && tree_fits_uhwi_p (captures[2])
 && tree_to_uhwi (captures[2]) < 256
)
    {
      {
/* #line 4048 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1079;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4054, __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_fail1079;
		    }
		  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_fail1079;
		_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_fail1079;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1079:;
      }
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1080;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3101, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1080:;
  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 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1081;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1797, __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_fail1081;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1081:;
    }
  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)
)
{
/* #line 370 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1082;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 387, __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_fail1082;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1082:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1083;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 388, __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_fail1083:;
	}
    }
  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 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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1084;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3271, __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_fail1084;
      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_fail1084;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1084:;
  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 combined_fn ARG_UNUSED (fmas))
{
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
/* #line 7021 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (single_use (captures[0])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1085;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7022, __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_fail1085:;
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])
          || !single_use (captures[4])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1086;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1301, __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_fail1086;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1086:;
  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)
)
{
/* #line 1815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1087;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1817, __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_fail1087;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1087:;
    }
  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 combined_fn ARG_UNUSED (POW))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1088;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6323, __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_fail1088;
	    _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_fail1088;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1088:;
    }
  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)
)
{
/* #line 1831 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1089;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1832, __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_fail1089;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1089:;
    }
  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)
, const combined_fn ARG_UNUSED (logs), const combined_fn ARG_UNUSED (pows))
{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1090;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6057, __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_fail1090;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1090:;
    }
  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 (outer_op))
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2670 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2673 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[1])
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1091;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2674, __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_fail1091;
			_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 (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail1091;
		      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_fail1091;
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1091:;
		}
	    }
	  else
	    {
/* #line 2675 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1092;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2677, __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_fail1092;
			  _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 (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail1092;
			_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_fail1092;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1092:;
		}
	      else
		{
/* #line 2678 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (types_match (type, captures[1])
)
		    {
		      {
/* #line 2679 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree cst = const_binop (outer_op, type, captures[0], captures[2]);
/* #line 2680 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1093;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2681, __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_fail1093:;
			    }
		      }
		    }
		}
	    }
	}
    }
  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 (op))
{
/* #line 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1094;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2091, __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_fail1094:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])
          || !single_use (captures[4])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1095;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1311, __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_fail1095;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1095:;
  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 (op), const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (clz))
{
/* #line 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (integer_zerop (captures[2]) && single_use (captures[0])
)
    {
      {
/* #line 7074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7084 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (stype
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1096;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7085, __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_fail1096;
		    }
		  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_fail1096:;
	    }
      }
    }
  else
    {
      {
/* #line 7087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7097 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1097;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7098, __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_fail1097:;
	    }
      }
    }
  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 (bitop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1098;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1003, __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_fail1098;
	      }
	    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_fail1098;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1098:;
    }
  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 (op))
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2742 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1099;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2748, __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_fail1099;
		    }
		  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_fail1099;
		      }
		    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_fail1099;
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1099:;
	    }
	}
    }
  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)
)
{
/* #line 4603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1100;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4608, __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_fail1100;
	      _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_fail1100;
	    _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_fail1100;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1100:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1101;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2341, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1101:;
  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 (cmp))
{
/* #line 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1102;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4541, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1102:;
    }
  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 enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1103;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1319, __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_fail1103:;
  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 (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2472 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1104;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2472, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[3];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1104:;
	}
      else
	{
/* #line 2473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (code1 == NE_EXPR && val
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1105;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2473, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1105:;
	    }
	  else
	    {
/* #line 2474 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1106;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2474, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1106:;
		}
	    }
	}
  }
  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 enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1107;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3281, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (cmp == GE_EXPR || cmp == LE_EXPR, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1107:;
  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))
{
/* #line 255 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1108;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1108:;
    }
  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 enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop))
{
/* #line 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1109;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1483, __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_fail1109;
	    }
	  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_fail1109;
	      }
	    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_fail1109;
	      }
	    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_fail1109;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1109:;
    }
  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)
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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]))
 && (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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1110;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1693, __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_fail1110;
	      }
	    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_fail1110;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1110:;
    }
  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 (fmas))
{
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1111;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7018, __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_fail1111:;
    }
  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 (cmp))
{
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && TREE_CODE (TREE_TYPE (captures[2])) != BOOLEAN_TYPE
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[3]))
 && (TYPE_PRECISION (TREE_TYPE (captures[2])) >= TYPE_PRECISION (type)
 || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
 && (
1
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1112;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3320, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[4];
	  _o1[1] = captures[5];
	  gimple_match_op tem_op (res_op->cond.any_else (), cmp, 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_fail1112;
	  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_fail1112:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1113;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4548, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1113:;
    }
  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)
)
{
/* #line 1837 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1114;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1838, __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_fail1114;
	    _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_fail1114;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1114:;
    }
  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))
{
/* #line 5830 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1115;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5833, __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_fail1115:;
    }
  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 combined_fn ARG_UNUSED (uncond_op), const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1116;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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[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_fail1116;
		_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_fail1116;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1116:;
	}
  }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1117;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3109, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1117:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1118;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1342, __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_fail1118:;
  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)
)
{
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1119;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7054, __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_fail1119:;
    }
  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 (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1120;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1063, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1120:;
  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 (shiftrotate))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1121;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3377, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1121:;
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5659 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5669 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (wi::to_wide (cst) == max
)
	    {
/* #line 5671 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (cmp == GT_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1122;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5672, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1122:;
		}
	      else
		{
/* #line 5673 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == GE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1123;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5674, __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_fail1123:;
		    }
		  else
		    {
/* #line 5675 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1124;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5676, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (true, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1124:;
			}
		      else
			{
/* #line 5677 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == LT_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1125;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5678, __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_fail1125:;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 5679 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (wi::to_wide (cst) == min
)
		{
/* #line 5681 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (cmp == LT_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1126;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5682, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (false, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1126:;
		    }
		  else
		    {
/* #line 5683 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1127;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5684, __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_fail1127:;
			}
		      else
			{
/* #line 5685 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1128;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5686, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (true, type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail1128:;
			    }
			  else
			    {
/* #line 5687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == GT_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1129;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5688, __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_fail1129:;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 5689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (wi::to_wide (cst) == max - 1
)
		    {
/* #line 5691 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (cmp == GT_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1130;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5692, __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_fail1130:;
			}
		      else
			{
/* #line 5696 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == LE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1131;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5697, __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_fail1131:;
			    }
			}
		    }
		  else
		    {
/* #line 5701 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (wi::to_wide (cst) == min + 1
)
			{
/* #line 5703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1132;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5704, __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_fail1132:;
			    }
			  else
			    {
/* #line 5708 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == LT_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1133;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5709, __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_fail1133:;
				}
			    }
			}
		      else
			{
/* #line 5713 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5724 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR
)
				{
				  {
/* #line 5725 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree st = signed_type_for (TREE_TYPE (captures[2]));
/* #line 5727 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (cst == captures[2] && cmp == LE_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1134;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5728, __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_fail1134;
					        }
					      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_fail1134:;
					}
				      else
					{
/* #line 5729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  if (cst == captures[2] && cmp == GT_EXPR
)
					    {
					      gimple_seq *lseq = seq;
					      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1135;
					      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5730, __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_fail1135;
						    }
						  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_fail1135:;
					    }
					  else
					    {
/* #line 5731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (cmp == LE_EXPR
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1136;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5732, __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_fail1136;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  build_zero_cst (st);
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1136:;
						}
					      else
						{
/* #line 5733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  if (cmp == GT_EXPR
)
						    {
						      gimple_seq *lseq = seq;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1137;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5734, __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_fail1137;
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  build_zero_cst (st);
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1137:;
						    }
						}
					    }
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  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 (shift))
{
/* #line 3393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 3394 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int width = ceil_log2 (element_precision (TREE_TYPE (captures[0])));
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 3398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if ((get_nonzero_bits (captures[1]) & wi::mask (width, false, prec)) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1138;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3399, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1138:;
	    }
      }
    }
  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 7248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7259 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (direct_internal_fn_supported_p (IFN_POPCOUNT, type,
 OPTIMIZE_FOR_BOTH)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1139;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7274, __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_fail1139;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1139:;
	    }
	  else
	    {
	      {
/* #line 7277 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7289 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1140;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7292, __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_fail1140;
			        }
			      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_fail1140;
			    _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_fail1140;
				_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_fail1140;
			        }
			      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_fail1140;
			    _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_fail1140;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1140:;
		    }
	      }
	    }
	}
  }
  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 (bitop), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 1136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (utype
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[2])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1141;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1137, __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_fail1141;
		    }
		  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_fail1141;
		    }
		  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_fail1141;
		_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_fail1141;
		  }
		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_fail1141;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1141:;
	}
  }
  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 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1142;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4541, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1142:;
    }
  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)
)
{
/* #line 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1143;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1850, __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_fail1143;
	    _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_fail1143;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1143:;
    }
  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)
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 728 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1144;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 731, __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_fail1144;
		    }
		  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_fail1144;
		_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_fail1144;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1144:;
      }
    }
  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 (test1), const enum tree_code ARG_UNUSED (test2))
{
/* #line 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1145;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5259, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (true, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1145:;
    }
  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 (eqne))
{
/* #line 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1146;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2311, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1146:;
    }
  else
    {
/* #line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1147;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2313, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1147:;
	}
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1148;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1867, __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_fail1148:;
    }
  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)
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1149;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7015, __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_fail1149:;
    }
  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)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6674 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1150;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6675, __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_fail1150;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1150:;
	}
      else
	{
	  {
/* #line 6676 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1151;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __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_fail1151;
		      }
		    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_fail1151;
		      }
		    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_fail1151;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1151:;
	  }
	}
    }
  else
    {
/* #line 6679 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 6682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 6690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1152;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6708, __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_fail1152;
			        }
			      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_fail1152;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1152:;
			}
		      else
			{
			  {
/* #line 6709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 6734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1153;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6741, __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_fail1153;
					  }
					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_fail1153;
					  }
					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_fail1153;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1153:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  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 (op), const enum tree_code ARG_UNUSED (rop))
{
/* #line 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1154;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1430, __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_fail1154;
	      }
	    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_fail1154;
	      }
	    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_fail1154;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1154:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1155;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3252, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1155:;
    }
  else
    {
/* #line 3253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1156;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3255, __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_fail1156:;
	}
    }
  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 enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (acmp))
{
  {
/* #line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[1]);
/* #line 4621 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (tree_int_cst_sgn (cst) == -1
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1157;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4622, __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_fail1157:;
	}
  }
  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 combined_fn ARG_UNUSED (POW))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1158;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6213, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1158:;
  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 (cmp))
{
/* #line 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (element_precision (captures[0]) >= element_precision (captures[1])
 && types_match (captures[1], captures[3])
)
    {
/* #line 1914 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (wi::lt_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
)
	{
/* #line 1915 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1159;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1916, __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_fail1159:;
	    }
	  else
	    {
/* #line 1917 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (tree_expr_nonzero_p (captures[1]) && tree_expr_nonzero_p (captures[3])
)
		{
		  {
/* #line 1918 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1160;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1922, __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_fail1160;
			    }
			  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_fail1160;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1160:;
		  }
		}
	    }
	}
      else
	{
/* #line 1923 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (wi::gt_p (wi::to_wide (captures[2]), 1, TYPE_SIGN (TREE_TYPE (captures[2])))
)
	    {
/* #line 1924 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (TREE_TYPE (captures[1])) || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1161;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1925, __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_fail1161:;
		}
	      else
		{
		  {
/* #line 1926 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1162;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1930, __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_fail1162;
			    }
			  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_fail1162;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1162:;
		  }
		}
	    }
	}
    }
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1163;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 336, __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_fail1163:;
    }
  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)
)
{
/* #line 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
/* #line 1552 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1164;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1553, __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_fail1164:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1165;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1554, __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_fail1165:;
	}
    }
  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)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1166;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1166;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1166:;
    }
  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 enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1167;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2406, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1167:;
	}
      else
	{
/* #line 2407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (code1 == EQ_EXPR && !val
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1168;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2407, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1168:;
	    }
	  else
	    {
/* #line 2408 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1169;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2408, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[3];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1169:;
		}
	    }
	}
  }
  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 combined_fn ARG_UNUSED (POW))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1170;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6307, __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_fail1170;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1170:;
    }
  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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1171;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 330, __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_fail1171;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1171:;
    }
  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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1172;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1068, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1172:;
  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)
, const combined_fn ARG_UNUSED (pows), const combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 845 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 846 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1173;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 847, __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_fail1173:;
	}
  }
  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 (FMAX_ALL))
{
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_finite_math_only
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1174;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3219, __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_fail1174:;
    }
  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 (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1175;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1785, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (op == NE_EXPR ? true : false, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1175:;
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (mod))
{
/* #line 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1176;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 656, __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_fail1176;
		  }
		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_fail1176;
		  }
		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_fail1176;
	      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_fail1176;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1176:;
      }
    }
  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 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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 6070 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6079 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6091 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (!use_exp2
)
		{
/* #line 6092 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (optimize_pow_to_exp (captures[0], captures[1])
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1177;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6093, __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_fail1177;
			    _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_fail1177;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1177:;
		    }
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1178;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6094, __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_fail1178;
			_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_fail1178;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1178:;
		}
	  }
	}
    }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2880 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1179;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2885, __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_fail1179;
			  }
			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_fail1179;
			  }
			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_fail1179;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1179:;
	      }
	    }
	  else
	    {
/* #line 2886 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1180;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2900, __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_fail1180;
		        }
		      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_fail1180;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1180:;
		}
	    }
	}
    }
  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 combined_fn ARG_UNUSED (POW))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1181;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6302, __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_fail1181;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1181:;
    }
  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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1182;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7040, __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_fail1182:;
    }
  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)
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1183;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3374, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1183:;
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2588 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1184;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2590, __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_fail1184;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1184:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1185;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2591, __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_fail1185;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1185:;
	    }
	}
    }
  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 (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1186;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 354, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1186:;
  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)
, const combined_fn ARG_UNUSED (ovf))
{
/* #line 5896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1187;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5900, __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_fail1187:;
    }
  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)
)
{
/* #line 3588 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3592 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1188;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3594, __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_fail1188;
		  }
		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_fail1188;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1188:;
      }
    }
  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)
)
{
/* #line 1642 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && wi::to_wide (captures[1]) == element_precision (type) - 1
)
    {
      {
/* #line 1644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree stype = TREE_TYPE (captures[0]);
 tree ntype = TYPE_UNSIGNED (stype) ? signed_type_for (stype)
 : unsigned_type_for (stype);
/* #line 1647 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1189;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1648, __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_fail1189;
		    _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_fail1189;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1189:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1190;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1649, __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_fail1190;
		      }
		    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_fail1190;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1190:;
	    }
      }
    }
  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 (div))
{
/* #line 403 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1191;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 404, __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_fail1191:;
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 5506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
/* #line 5514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (cmp == LT_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1192;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5515, __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_fail1192;
		    _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_fail1192;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1192:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1193;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5516, __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_fail1193;
		      _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_fail1193;
		      }
		    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_fail1193;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1193:;
	    }
      }
    }
  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 (op), const combined_fn ARG_UNUSED (ctz))
{
  {
/* #line 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7155 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) >= prec
)
	{
/* #line 7156 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1194;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7157, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (op == EQ_EXPR ? false : true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1194:;
	    }
	}
      else
	{
/* #line 7158 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1195;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7159, __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_fail1195;
		  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_fail1195:;
	    }
	}
  }
  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)
)
{
/* #line 1837 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1196;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1838, __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_fail1196;
	    _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_fail1196;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1196:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 4710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (integer_zerop (captures[2])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1197;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4711, __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_fail1197:;
    }
  else
    {
/* #line 4712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4716 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1198;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4717, __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_fail1198:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1199;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4718, __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_fail1199:;
	    }
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1200;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1037, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1200:;
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1201;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2073, __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_fail1201:;
    }
  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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
)
    {
/* #line 1503 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1202;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1504, __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_fail1202;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1202:;
	}
      else
	{
/* #line 1505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1203;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1506, __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_fail1203;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[4];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1203:;
	    }
	}
    }
  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 combined_fn ARG_UNUSED (POPCOUNT))
{
/* #line 7170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1204;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7171, __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_fail1204;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1204:;
    }
  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)
)
{
/* #line 2282 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 2284 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 unsigned int align;
 unsigned HOST_WIDE_INT bitpos;
 get_pointer_alignment_1 (captures[0], &align, &bitpos);
/* #line 2290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (wi::ltu_p (wi::to_wide (captures[1]), align / BITS_PER_UNIT)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1205;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2291, __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_fail1205:;
	    }
      }
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && TREE_CODE (TREE_TYPE (captures[2])) != BOOLEAN_TYPE
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[3]))
 && (TYPE_PRECISION (TREE_TYPE (captures[2])) >= TYPE_PRECISION (type)
 || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
 && (
1
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1206;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3308, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[4];
	  _o1[1] = captures[5];
	  gimple_match_op tem_op (res_op->cond.any_else (), cmp, 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_fail1206;
	  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_fail1206:;
    }
  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 enum tree_code ARG_UNUSED (maxmin))
{
/* #line 6501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1207;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6507, __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_fail1207:;
    }
  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), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 3570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1208;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3571, __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_fail1208:;
    }
  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 (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1209;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1715, __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_fail1209:;
  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 combined_fn ARG_UNUSED (pfun))
{
  {
/* #line 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 wide_int nz = tree_nonzero_bits (captures[0]);
/* #line 7204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (nz == 1
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1210;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7205, __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_fail1210:;
	}
      else
	{
/* #line 7206 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (wi::popcount (nz) == 1
)
	    {
	      {
/* #line 7207 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1211;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7208, __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_fail1211;
			  }
			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_fail1211;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1211:;
	      }
	    }
	}
  }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 1853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1212;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1857, __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 (), cmp, 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_fail1212;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->ops[2] =  build_zero_cst (type);
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1212:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[1])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1213;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1720, __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_fail1213;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1213:;
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
/* #line 5180 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (wi::to_wide (captures[2]) == 0
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1214;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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[0];
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1214:;
	}
      else
	{
/* #line 5182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TREE_CODE (captures[1]) == INTEGER_CST
)
	    {
	      {
/* #line 5183 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5189 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (ovf
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1215;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5190, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (cmp == NE_EXPR, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1215:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1216;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5191, __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_fail1216:;
		    }
	      }
	    }
	}
    }
  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)
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[4]);
/* #line 7458 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (element_precision (type) == element_precision (op_type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1217;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7459, __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_fail1217;
		_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_fail1217;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1217:;
	}
  }
  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 5195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
)
    {
      {
/* #line 5196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (ovf
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1218;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5203, __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_fail1218:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1219;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5206, __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_fail1219:;
	    }
      }
    }
  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)
)
{
/* #line 5570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (integer_pow2p (captures[1])
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
/* #line 5575 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (shift >= 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1220;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5576, __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_fail1220;
		    _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_fail1220;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1220:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1221;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5581, __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_fail1221;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1221:;
	    }
      }
    }
  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 (logic), const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (ext))
{
/* #line 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1222;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6790, __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_fail1222;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1222:;
    }
  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 (neeq))
{
  {
/* #line 2264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
/* #line 2265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (ptr_difference_const (captures[0], captures[2], &diff)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1223;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2266, __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_fail1223;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] = captures[3];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1223:;
	}
  }
  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)
)
{
/* #line 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1224;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 688, __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_fail1224;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1224:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4765 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1225;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4768, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1225:;
    }
  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 combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1226;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 879, __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_fail1226:;
  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)
)
{
/* #line 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1227;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1512, __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_fail1227;
	    }
	  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_fail1227;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1227:;
    }
  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 (eqne))
{
/* #line 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1228;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2323, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1228:;
    }
  else
    {
/* #line 2324 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1229;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2325, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1229:;
	}
    }
  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 (cond_op))
{
  {
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[6]);
/* #line 7463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (inverse_conditions_p (captures[0], captures[2])
 && element_precision (type) == element_precision (op_type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1230;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7465, __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_fail1230;
		_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_fail1230;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1230:;
	}
  }
  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 (cmp))
{
/* #line 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1231;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4560, __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_fail1231:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1232;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2336, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1232:;
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 5387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 off; tree base;
/* #line 5391 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (captures[0], 0)))
 && TREE_CODE (base) == VAR_DECL
 && auto_var_in_fn_p (base, current_function_decl)
)
	{
/* #line 5396 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (cmp == NE_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1233;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5397, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1233:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1234;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5398, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1234:;
	    }
	}
      else
	{
/* #line 5400 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if ((base = get_addr_base_and_unit_offset (TREE_OPERAND (captures[0], 0), &off))
 && TREE_CODE (base) == MEM_REF
 && TREE_OPERAND (base, 0) == captures[1]
)
	    {
	      {
/* #line 5403 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 off += mem_ref_offset (base).force_shwi ();
/* #line 5404 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_ne (off, 0)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1235;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5405, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (cmp == NE_EXPR, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1235:;
		    }
		  else
		    {
/* #line 5406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (known_eq (off, 0)
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1236;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5407, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (cmp == EQ_EXPR, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1236:;
			}
		    }
	      }
	    }
	}
  }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1237;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2346, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (true, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1237:;
  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), const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (ctz))
{
  {
/* #line 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7132 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (val <= 0
)
	{
/* #line 7133 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (ok && (!zero_res || zero_val >= val)
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1238;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7134, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1238:;
	    }
	}
      else
	{
/* #line 7135 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (val >= prec
)
	    {
/* #line 7136 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (ok && (!zero_res || zero_val < val)
)
		{
		  gimple_seq *lseq = seq;
		  if (lseq
		      && (!single_use (captures[0])))
		    lseq = NULL;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1239;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7137, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1239:;
		}
	    }
	  else
	    {
/* #line 7138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1240;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7139, __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_fail1240;
		      res_op->ops[0] = _r1;
		    }
		    res_op->ops[1] =  build_zero_cst (type0);
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1240:;
		}
	    }
	}
  }
  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)
, const enum tree_code ARG_UNUSED (inner_op), const enum tree_code ARG_UNUSED (outer_op))
{
  {
/* #line 2155 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!fail && (C0 & zero_mask_not) == 0
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1241;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2179, __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_fail1241:;
	}
      else
	{
/* #line 2180 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1242;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2181, __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_fail1242:;
	    }
	}
  }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1243;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2138, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1243:;
    }
  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 combined_fn ARG_UNUSED (fmas))
{
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1244;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7012, __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_fail1244:;
    }
  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)
)
{
/* #line 3588 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3592 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1245;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3594, __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_fail1245;
		  }
		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_fail1245;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1245:;
      }
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 5849 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1246;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5851, __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_fail1246;
	  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_fail1246:;
    }
  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 (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6486 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1247;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6496, __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_fail1247:;
    }
  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 (bitop), const combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1248;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3970, __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_fail1248;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1248:;
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1249;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2585, __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_fail1249:;
	}
    }
  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 combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1250;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6466, __FILE__, __LINE__);
      {
	res_op->set_op (tos, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1250:;
    }
  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)
)
{
/* #line 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1251;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 330, __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_fail1251;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1251:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1252;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5859, __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_fail1252;
	  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_fail1252:;
    }
  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), const enum tree_code ARG_UNUSED (out))
{
/* #line 5849 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1253;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5851, __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_fail1253;
	  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_fail1253:;
    }
  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)
, const enum tree_code ARG_UNUSED (mod))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1254;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 640, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1254:;
  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 (div))
{
/* #line 417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1255;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 420, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_one_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1255:;
    }
  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 enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2472 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1256;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2472, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[3];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1256:;
	}
      else
	{
/* #line 2473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (code1 == NE_EXPR && val
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1257;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2473, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1257:;
	    }
	  else
	    {
/* #line 2474 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1258;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2474, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1258:;
		}
	    }
	}
  }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	{
	  {
/* #line 2525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1259;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2532, __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_fail1259;
		      }
		    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_fail1259;
		      }
		    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_fail1259;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1259:;
	  }
	}
    }
  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 (div))
{
/* #line 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1260;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 437, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_minus_one_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1260:;
    }
  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)
)
{
/* #line 672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1261;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 682, __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_fail1261;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1261:;
    }
  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 (div), const enum tree_code ARG_UNUSED (mod))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1262;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3842, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1262:;
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2615 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TYPE_OVERFLOW_UNDEFINED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1263;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2617, __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_fail1263:;
	    }
	}
    }
  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)
)
{
/* #line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1264;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1598, __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_fail1264;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1264:;
    }
  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 (op))
{
/* #line 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1265;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2062, __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_fail1265:;
    }
  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 7729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1266;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7730, __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_fail1266;
	    _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_fail1266;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[5];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1266:;
    }
  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 combined_fn ARG_UNUSED (minmax))
{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (real_isnan (TREE_REAL_CST_PTR (captures[1]))
 && (!HONOR_SNANS (captures[1]) || !TREE_REAL_CST (captures[1]).signalling)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1267;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3207, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1267:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 3453 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_int_cst_sgn (captures[0]) > 0
)
    {
      {
/* #line 3454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int c1 = wi::clz (wi::to_wide (captures[0]));
 int c2 = wi::clz (wi::to_wide (captures[2]));
/* #line 3456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (c1 > c2
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1268;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3457, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1268:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1269;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3458, __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_fail1269:;
	    }
      }
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1270;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1291, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1270:;
  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)
)
{
/* #line 3906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1271;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3909, __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_fail1271;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1271:;
    }
  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 (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3180 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1272;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3181, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1272:;
		}
	      else
		{
/* #line 3182 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1273;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3183, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1273:;
		    }
		}
	    }
	  else
	    {
/* #line 3184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1274;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3185, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1274:;
		}
	      else
		{
/* #line 3186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1275;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3187, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1275:;
		    }
		}
	    }
	}
  }
  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 (plusminus))
{
/* #line 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 2941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1276;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2949, __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_fail1276;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1276:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[3])))
	        lseq = NULL;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1277;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2951, __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_fail1277;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		if (!maybe_push_res_to_seq (res_op, NULL)) goto next_after_fail1277;
		return true;
	      }
next_after_fail1277:;
	    }
	}
    }
  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)
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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]))
 && (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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1278;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1693, __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_fail1278;
	      }
	    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_fail1278;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1278:;
    }
  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 (op), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      {
/* #line 4914 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_binop (op == PLUS_EXPR ? MINUS_EXPR : PLUS_EXPR,
 TREE_TYPE (captures[1]), captures[2], captures[1]);
/* #line 4919 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1279;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4920, __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_fail1279:;
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
/* #line 4385 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4392 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 4456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (code == MAX_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1280;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4457, __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_fail1280;
		      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_fail1280:;
		}
	      else
		{
/* #line 4459 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (code == MIN_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1281;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4460, __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_fail1281;
			  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_fail1281:;
		    }
		}
	  }
	}
  }
  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 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1282;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1828, __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_fail1282;
	    _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_fail1282;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1282:;
    }
  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 (bitop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 991 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1283;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 994, __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_fail1283;
	      }
	    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_fail1283;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1283:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
/* #line 5312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1284;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5313, __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_fail1284:;
	    }
      }
    }
  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)
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!integer_zerop (captures[0])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1285;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 636, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_zero_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1285:;
    }
  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 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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1286;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3616, __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_fail1286:;
  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)
)
{
/* #line 370 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1287;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 387, __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_fail1287;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1287:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1288;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 388, __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_fail1288:;
	}
    }
  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 5539 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
)
    {
      {
/* #line 5540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
 - wi::exact_log2 (wi::to_wide (captures[1])));
/* #line 5544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (shift > 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1289;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5545, __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_fail1289;
		      }
		    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_fail1289;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1289:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1290;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5547, __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_fail1290;
		    _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_fail1290;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1290:;
	    }
      }
    }
  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 (op))
{
/* #line 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1291;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2079, __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_fail1291:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1292;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1843, __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_fail1292;
	_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_fail1292;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1292:;
  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)
, const combined_fn ARG_UNUSED (sq), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math
)
    {
/* #line 5074 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[0])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1293;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5075, __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_fail1293:;
	}
    }
  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 (mod))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1294;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 625, __FILE__, __LINE__);
  {
    tree tem;
    tem =  build_zero_cst (type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1294:;
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4926 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_associative_math
)
    {
      {
/* #line 4929 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
/* #line 4930 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1295;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4931, __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_fail1295:;
	    }
      }
    }
  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 (eqne))
{
/* #line 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1296;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2311, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1296:;
    }
  else
    {
/* #line 2312 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1297;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2313, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1297:;
	}
    }
  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)
)
{
/* #line 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
/* #line 1552 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1298;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1553, __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_fail1298:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1299;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1554, __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_fail1299:;
	}
    }
  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 enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ocmp))
{
/* #line 2100 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1300;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2104, __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_fail1300:;
    }
  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 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1301;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1822, __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_fail1301;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1301:;
    }
  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)
, const enum tree_code ARG_UNUSED (plusminus))
{
/* #line 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 2955 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
)
	{
/* #line 2958 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1302;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2978, __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_fail1302;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[0];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1302:;
	    }
	}
    }
  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 (rotate))
{
/* #line 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3606 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1303;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3608, __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_fail1303;
		  }
		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_fail1303;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1303:;
      }
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 1167 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1304;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1168, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == LT_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1304:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1305;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2331, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1305:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1306;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 976, __FILE__, __LINE__);
  {
    tree tem;
    tem =  build_zero_cst (type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1306:;
  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 (div))
{
/* #line 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type)
)
    {
/* #line 754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_UNDEFINED (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1307;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 755, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1307:;
	}
      else
	{
	  {
/* #line 757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (!overflowed
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1308;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 786, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1308:;
		}
	  }
	}
    }
  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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1309;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2346, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (true, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1309:;
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 1905 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[0]));
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1310;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1906, __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_fail1310;
	        }
	      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_fail1310:;
      }
    }
  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)
)
{
/* #line 1454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1311;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1456, __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_fail1311;
	    }
	  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_fail1311;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1311:;
    }
  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 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1312;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3049, __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_fail1312:;
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 5839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1313;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5841, __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_fail1313:;
    }
  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)
, const combined_fn ARG_UNUSED (HYPOT))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1314;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6373, __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_fail1314;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1314:;
    }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2796 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1315;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2806, __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_fail1315:;
	    }
	}
    }
  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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1316;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1316;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1316:;
    }
  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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1317;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2609, __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_fail1317:;
	}
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6674 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1318;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6675, __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_fail1318;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1318:;
	}
      else
	{
	  {
/* #line 6676 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1319;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __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_fail1319;
		      }
		    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_fail1319;
		      }
		    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_fail1319;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1319:;
	  }
	}
    }
  else
    {
/* #line 6679 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (FLOAT_TYPE_P (type)
 && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 == DECIMAL_FLOAT_TYPE_P (type)
)
	{
	  {
/* #line 6682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 6690 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6703 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1320;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6708, __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_fail1320;
			        }
			      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_fail1320;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1320:;
			}
		      else
			{
			  {
/* #line 6709 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 if (TYPE_PRECISION (ty1) > TYPE_PRECISION (newtype))
 newtype = ty1;
 if (TYPE_PRECISION (ty2) > TYPE_PRECISION (newtype))
 newtype = ty2;
/* #line 6734 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1321;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6741, __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_fail1321;
					  }
					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_fail1321;
					  }
					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_fail1321;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1321:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  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)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1322;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 342, __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_fail1322;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1322:;
    }
  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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1323;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2603, __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_fail1323:;
	}
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 4688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1324;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4691, __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_fail1324;
	  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_fail1324:;
    }
  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 combined_fn ARG_UNUSED (coss), const combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1325;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 838, __FILE__, __LINE__);
  {
    res_op->set_op (coss, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1325:;
  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 (op))
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1326;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2763, __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 (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
		  if (!_r1) goto next_after_fail1326;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1326:;
	    }
	}
    }
  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 combined_fn ARG_UNUSED (POW))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6262 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[1])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1327;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6263, __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_fail1327;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1327:;
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1328;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1381, __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_fail1328:;
  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)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1329;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5319, __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_fail1329:;
  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)
)
{
/* #line 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1330;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 330, __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_fail1330;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1330:;
    }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!TYPE_OVERFLOW_SANITIZED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1331;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2570, __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_fail1331:;
	}
    }
  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 (out))
{
/* #line 5867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 5868 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1332;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5869, __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_fail1332;
		_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_fail1332;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_zero_cst (t);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1332:;
      }
    }
  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)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 1125 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (utype
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1333;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1126, __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_fail1333;
		    }
		  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_fail1333;
		    }
		  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_fail1333;
		_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_fail1333;
		  }
		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_fail1333;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1333:;
	}
  }
  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)
, const combined_fn ARG_UNUSED (floors), const combined_fn ARG_UNUSED (truncs))
{
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1334;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6392, __FILE__, __LINE__);
      {
	res_op->set_op (truncs, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1334:;
    }
  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 (plusminus))
{
/* #line 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 2955 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
)
	{
/* #line 2981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1335;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2997, __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_fail1335;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1335:;
	    }
	}
    }
  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)
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1336;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2406, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1336:;
	}
      else
	{
/* #line 2407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (code1 == EQ_EXPR && !val
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1337;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2407, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1337:;
	    }
	  else
	    {
/* #line 2408 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1338;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2408, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[3];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1338:;
		}
	    }
	}
  }
  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 combined_fn ARG_UNUSED (hypots), const combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1339;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 861, __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_fail1339:;
  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)
, const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 3414 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 unsigned int prec = element_precision (type);
/* #line 3415 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3419 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 unsigned int low = (tree_to_uhwi (captures[1])
 + tree_to_uhwi (captures[2]));
/* #line 3423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (low >= prec
)
		{
/* #line 3424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (op == LROTATE_EXPR || op == RROTATE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1340;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3425, __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_fail1340:;
		    }
		  else
		    {
/* #line 3426 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1341;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3427, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  build_zero_cst (type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1341:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1342;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3428, __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_fail1342:;
			}
		    }
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1343;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3429, __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_fail1343:;
		}
	  }
	}
  }
  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 combined_fn ARG_UNUSED (hypots), const combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1344;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 865, __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_fail1344:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1345;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5246, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1345:;
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1346;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2079, __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_fail1346:;
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 3064 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1347;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3066, __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_fail1347:;
    }
  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)
)
{
/* #line 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1348;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1411, __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_fail1348;
	    _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_fail1348;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1348:;
    }
  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 (cmp), const enum tree_code ARG_UNUSED (icmp))
{
  {
/* #line 3446 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int c1 = wi::clz (wi::to_wide (captures[0]));
 int c2 = wi::clz (wi::to_wide (captures[2]));
/* #line 3448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (c1 < c2
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1349;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3449, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1349:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1350;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3450, __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_fail1350:;
	}
  }
  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 combined_fn ARG_UNUSED (coshs), const combined_fn ARG_UNUSED (atanhs), const combined_fn ARG_UNUSED (sqrts))
{
/* #line 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!flag_errno_math
)
    {
      {
/* #line 6186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree t_one = build_one_cst (type);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1351;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6187, __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_fail1351;
		  _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_fail1351;
		  _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_fail1351;
		_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_fail1351;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1351:;
      }
    }
  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)
)
{
/* #line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1352;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4598, __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_fail1352;
	      _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_fail1352;
	    _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_fail1352;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1352:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1353;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2331, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1353:;
  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 (copysigns))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1354;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 885, __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_fail1354:;
  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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1355;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1037, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1355:;
  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 combined_fn ARG_UNUSED (ovf))
{
/* #line 5903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1356;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5907, __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_fail1356:;
    }
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1357;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6218, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1357:;
  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 (cmp))
{
/* #line 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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]))
)
	{
/* #line 5345 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1358;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5346, __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_fail1358:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1359;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5348, __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_fail1359;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1359:;
	    }
	}
      else
	{
/* #line 5350 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
)
	    {
/* #line 5352 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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[3]) == INTEGER_CST
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && int_fits_type_p (captures[3], TREE_TYPE (captures[1]))))
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1360;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5364, __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_fail1360;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1360:;
		}
	      else
		{
/* #line 5365 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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]))
)
		    {
		      {
/* #line 5368 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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[3]));
 bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[3], min));
/* #line 5375 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (above || below
)
			    {
/* #line 5376 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1361;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5377, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1361:;
				}
			      else
				{
/* #line 5378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1362;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5379, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  constant_boolean_node (above ? true : false, type);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1362:;
				    }
				  else
				    {
/* #line 5380 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1363;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5381, __FILE__, __LINE__);
					  {
					    tree tem;
					    tem =  constant_boolean_node (above ? false : true, type);
					    res_op->set_value (tem);
					    return true;
					  }
next_after_fail1363:;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1364;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6234, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1364:;
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 5416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1365;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5418, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1365:;
    }
  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 (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1366;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1710, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1366:;
  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 (copysigns))
{
/* #line 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1367;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6480, __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_fail1367:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
/* #line 5529 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (cmp == GE_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1368;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5530, __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_fail1368;
		    _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_fail1368;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1368:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1369;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5531, __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_fail1369;
		      _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_fail1369;
		      }
		    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_fail1369;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1369:;
	    }
      }
    }
  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 combined_fn ARG_UNUSED (fns))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1370;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6198, __FILE__, __LINE__);
  {
    res_op->set_op (fns, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1370:;
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1371;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4560, __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_fail1371:;
    }
  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 4466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1372;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4470, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[2];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1372:;
    }
  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)
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1373;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3542, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_int_cst (type, 0);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1373:;
	    }
	  else
	    {
	      {
/* #line 3543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3545 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3559 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1374;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3560, __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_fail1374;
						    }
						  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_fail1374;
						_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_fail1374;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1374:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1375;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3561, __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_fail1375:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  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)
, const combined_fn ARG_UNUSED (HYPOT))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1376;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6208, __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_fail1376:;
  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)
)
{
/* #line 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1377;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1591, __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_fail1377;
	    }
	  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_fail1377;
	    _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_fail1377;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1377:;
    }
  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)
)
{
/* #line 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1378;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1402, __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_fail1378;
	    _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_fail1378;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1378:;
    }
  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 (shiftrotate))
{
  {
/* #line 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 3384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (tem
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1379;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3385, __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_fail1379:;
	}
  }
  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 (cmp))
{
/* #line 5438 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1380;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5444, __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_fail1380;
	      _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_fail1380;
	      }
	    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_fail1380;
	  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_fail1380:;
    }
  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 (rotate), const enum tree_code ARG_UNUSED (invrot), const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1381;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3620, __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_fail1381:;
  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)
, 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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1382;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7179, __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_fail1382:;
  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 (shift))
{
/* #line 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3487 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1383;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3542, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_int_cst (type, 0);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1383:;
	    }
	  else
	    {
	      {
/* #line 3543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3545 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3554 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3559 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1384;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3560, __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_fail1384;
						    }
						  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_fail1384;
						_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_fail1384;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1384:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1385;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3561, __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_fail1385:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  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 (POPCOUNT), const combined_fn ARG_UNUSED (PARITY))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1386;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7184, __FILE__, __LINE__);
  {
    res_op->set_op (PARITY, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1386:;
  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 (scmp))
{
/* #line 4801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1387;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4803, __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_fail1387;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1387:;
    }
  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)
, const combined_fn ARG_UNUSED (PARITY))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1388;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7190, __FILE__, __LINE__);
  {
    res_op->set_op (PARITY, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1388:;
  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)
)
{
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1389;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7060, __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_fail1389:;
    }
  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)
, const combined_fn ARG_UNUSED (PARITY))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[2])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1390;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7195, __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_fail1390;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1390:;
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1391;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2594, __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_fail1391:;
	}
    }
  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)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1392;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5820, __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_fail1392:;
      }
    }
  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)
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[3]);
/* #line 7444 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (element_precision (type) == element_precision (op_type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1393;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7445, __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_fail1393;
		_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_fail1393;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1393:;
	}
  }
  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 (op))
{
/* #line 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1394;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1443, __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_fail1394;
	    }
	  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_fail1394;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1394:;
    }
  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 combined_fn ARG_UNUSED (fns))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1395;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6203, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1395:;
  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 (cmp))
{
/* #line 4680 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (single_use (captures[0])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1396;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4681, __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_fail1396:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1397;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2356, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1397:;
  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)
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
 && targetm.libc_has_function (function_c99_misc, NULL_TREE)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1398;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6436, __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_fail1398;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1398:;
    }
  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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1399;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1399;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1399:;
    }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2833 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
	    {
	      {
/* #line 2836 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1400;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2837, __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_fail1400;
			  }
			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_fail1400;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1400:;
	      }
	    }
	  else
	    {
/* #line 2838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1401;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2848, __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_fail1401;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1401:;
		}
	    }
	}
    }
  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)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1402;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 342, __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_fail1402;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1402:;
    }
  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 (shiftrotate))
{
  {
/* #line 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 3384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (tem
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1403;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3385, __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_fail1403:;
	}
  }
  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 (op))
{
/* #line 1026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (~wi::to_wide (captures[1]) == wi::to_wide (captures[2])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1404;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1027, __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_fail1404:;
    }
  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 (eqne))
{
/* #line 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1405;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2365, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1405:;
    }
  else
    {
/* #line 2366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1406;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2367, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (true, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1406:;
	}
    }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2689 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2692 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[2])
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1407;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2693, __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_fail1407;
		      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_fail1407;
			_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_fail1407;
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1407:;
		}
	    }
	  else
	    {
/* #line 2694 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1408;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2696, __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_fail1408;
			  _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 (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail1408;
			_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_fail1408;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1408:;
		}
	      else
		{
/* #line 2697 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (types_match (type, captures[2])
)
		    {
		      {
/* #line 2698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
/* #line 2699 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1409;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2700, __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_fail1409:;
			    }
		      }
		    }
		}
	    }
	}
    }
  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)
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1410;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2365, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1410:;
    }
  else
    {
/* #line 2366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1411;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2367, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (true, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1411:;
	}
    }
  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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1412;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7032, __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_fail1412:;
    }
  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)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1413;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1413;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1413:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1414;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5246, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1414:;
  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 combined_fn ARG_UNUSED (uncond_op), const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7431 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1415;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7434, __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_fail1415;
		_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_fail1415;
		_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_fail1415;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1415:;
	}
  }
  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 (op))
{
/* #line 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
)
    {
/* #line 1503 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1416;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1504, __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_fail1416;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1416:;
	}
      else
	{
/* #line 1505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1417;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1506, __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_fail1417;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[4];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1417:;
	    }
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1418;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1775, __FILE__, __LINE__);
  {
    tree tem;
    tem =  build_zero_cst (type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1418:;
  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 (mod))
{
/* #line 644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1419;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 648, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_zero_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1419:;
    }
  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)
)
{
/* #line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (fold_real_zero_addition_p (type, captures[0], captures[1], 0)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1420;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1420:;
    }
  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), const enum tree_code ARG_UNUSED (out))
{
/* #line 5867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 5868 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1421;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5869, __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_fail1421;
		_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_fail1421;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_zero_cst (t);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1421:;
      }
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_single_nonzero_warnv_p (captures[0], NULL)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1422;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5462, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1422:;
    }
  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)
)
{
/* #line 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1423;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 330, __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_fail1423;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1423:;
    }
  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 4754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || ! tree_expr_maybe_nan_p (captures[0])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1424;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4756, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (true, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1424:;
    }
  else
    {
/* #line 4757 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (cmp != EQ_EXPR
 && (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || ! flag_trapping_math)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1425;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4761, __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_fail1425:;
	}
    }
  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 enum tree_code ARG_UNUSED (op))
{
/* #line 2046 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1426;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2047, __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_fail1426:;
    }
  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)
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 6814 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res)
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1427;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6816, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1427:;
	    }
	  else
	    {
/* #line 6817 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1428;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6818, __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_fail1428:;
		}
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (floor_divmod), const enum tree_code ARG_UNUSED (trunc_divmod))
{
/* #line 446 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
 && TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1429;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 448, __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_fail1429:;
    }
  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 (bitop))
{
  {
/* #line 1154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 1159 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (utype
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1430;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1160, __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_fail1430;
		    }
		  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_fail1430;
		_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_fail1430;
		  }
		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_fail1430;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1430:;
	}
  }
  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)
)
{
/* #line 7733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1431;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7734, __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_fail1431;
	    _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_fail1431;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[5];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1431:;
    }
  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 (op), const enum tree_code ARG_UNUSED (rop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 6827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 6828 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1432;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6829, __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_fail1432:;
	    }
	  else
	    {
/* #line 6840 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  {
/* #line 6841 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1433;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6848, __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_fail1433:;
		  }
		}
	    }
      }
    }
  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)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1434;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 399, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1434:;
    }
  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)
)
{
/* #line 4482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1435;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4483, __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_fail1435;
	  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_fail1435;
	  res_op->ops[1] = _r1;
	}
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1435:;
    }
  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 combined_fn ARG_UNUSED (FFS), const combined_fn ARG_UNUSED (CTZ))
{
/* #line 7302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7305 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1436;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7306, __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_fail1436;
		  }
		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_fail1436;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_one_cst (type);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1436:;
      }
    }
  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 (cmp))
{
/* #line 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (TREE_INT_CST_LOW (captures[1]) & 1
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1437;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2111, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1437:;
    }
  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 (cmp))
{
/* #line 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
    {
/* #line 1889 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1438;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1890, __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_fail1438:;
	}
      else
	{
/* #line 1891 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1439;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1893, __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_fail1439:;
	    }
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1440;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1008, __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_fail1440;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1440:;
  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 (cmp), const combined_fn ARG_UNUSED (bswap))
{
  {
/* #line 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree ctype = TREE_TYPE (captures[0]);
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1441;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3975, __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_fail1441;
	    }
	  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_fail1441;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1441:;
  }
  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)
, 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 6138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6145 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (SCALAR_FLOAT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1442;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6146, __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_fail1442;
		_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_fail1442;
	      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_fail1442;
		    _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_fail1442;
		  _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_fail1442;
		_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_fail1442;
	      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_fail1442;
	      res_op->ops[2] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1442:;
	}
  }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
 && (cmp != LTGT_EXPR || ! flag_trapping_math)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1443;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5742, __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_fail1443:;
    }
  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 enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1444;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5423, __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_fail1444:;
  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))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1445;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5429, __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_fail1445:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1446;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1017, __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_fail1446;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1446:;
  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 (cmp))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1447;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5435, __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 (lseq, valueize);
	_r2 = maybe_push_res_to_seq (&tem_op, NULL);
	if (!_r2) goto next_after_fail1447;
	_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_fail1447;
      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_fail1447:;
  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)
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 629 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1448;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 630, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_zero_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1448:;
    }
  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)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1449;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1023, __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_fail1449:;
  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 (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5561 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1450;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5562, __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_fail1450;
	        }
	      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_fail1450:;
      }
    }
  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)
)
{
/* #line 3113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (TREE_CODE (type) != COMPLEX_TYPE
 && (! ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_UNDEFINED (type))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1451;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3116, __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_fail1451:;
    }
  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 combined_fn ARG_UNUSED (SQRT_ALL))
{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 5931 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!tree_expr_maybe_signaling_nan_p (captures[1])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1452;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5932, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[1];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1452:;
	}
    }
  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 combined_fn ARG_UNUSED (sinhs), const combined_fn ARG_UNUSED (atanhs), const combined_fn ARG_UNUSED (sqrts))
{
/* #line 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!flag_errno_math
)
    {
      {
/* #line 6177 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree t_one = build_one_cst (type);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1453;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6178, __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_fail1453;
		  _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_fail1453;
		  _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_fail1453;
		_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_fail1453;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1453:;
      }
    }
  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)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1454;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2033, __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_fail1454:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1455;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1032, __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_fail1455:;
  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)
, const enum tree_code ARG_UNUSED (rotate), const enum tree_code ARG_UNUSED (invrot), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3624 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (integer_zerop (captures[2]) || integer_all_onesp (captures[2])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1456;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3625, __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_fail1456:;
    }
  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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2769 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_TRAPS (type)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1457;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2770, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_all_ones_cst (type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1457:;
	    }
	}
    }
  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)
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (BITS_PER_UNIT == 8
 && tree_fits_uhwi_p (captures[3])
 && tree_fits_uhwi_p (captures[4])
)
    {
      {
/* #line 3987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (bits < prec
 && mask < (256u>>lo)
 && bits < TYPE_PRECISION (TREE_TYPE(captures[0]))
)
	    {
	      {
/* #line 3998 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 unsigned HOST_WIDE_INT ns = (prec - (hi + 8)) + lo;
/* #line 3999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (ns == 0
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1458;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4000, __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_fail1458;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[0] = _r1;
			}
			res_op->ops[1] = captures[4];
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1458:;
		    }
		  else
		    {
		      {
/* #line 4001 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1459;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4006, __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_fail1459;
				    }
				  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_fail1459;
				_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_fail1459;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[0] = _r1;
			    }
			    res_op->ops[1] = captures[4];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1459:;
		      }
		    }
	      }
	    }
      }
    }
  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 693 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1460;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 694, __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_fail1460;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1460:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1461;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1042, __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_fail1461;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1461:;
  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 (cmp))
{
/* #line 5456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1462;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5457, __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_fail1462;
	      }
	    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_fail1462;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1462:;
    }
  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)
, const enum tree_code ARG_UNUSED (minmax))
{
/* #line 3194 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1463;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3198, __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_fail1463;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1463:;
    }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	{
	  {
/* #line 2538 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1464;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2545, __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_fail1464;
		      }
		    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_fail1464;
		      }
		    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_fail1464;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1464:;
	  }
	}
    }
  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))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1465;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5450, __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 (lseq, valueize);
	_r2 = maybe_push_res_to_seq (&tem_op, NULL);
	if (!_r2) goto next_after_fail1465;
	_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_fail1465;
      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_fail1465:;
  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[0])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1466;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1047, __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_fail1466:;
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1467;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4787, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (cmp == NE_EXPR, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1467:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1468;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5249, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1468:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1469;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1052, __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_fail1469:;
  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 combined_fn ARG_UNUSED (coss), const combined_fn ARG_UNUSED (atans), const combined_fn ARG_UNUSED (sqrts), const combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 6157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6165 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (SCALAR_FLOAT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1470;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6166, __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_fail1470;
		_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_fail1470;
	      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_fail1470;
		    _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_fail1470;
		  _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_fail1470;
		_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_fail1470;
	      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_fail1470;
	      res_op->ops[2] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1470:;
	}
  }
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2597 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1471;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2599, __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_fail1471;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1471:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1472;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2600, __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_fail1472;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1472:;
	    }
	}
    }
  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[1])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1473;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1057, __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_fail1473;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1473:;
  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), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1474;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5491, __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_fail1474;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1474:;
    }
  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)
, const enum tree_code ARG_UNUSED (test1), const enum tree_code ARG_UNUSED (test2))
{
/* #line 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1475;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5267, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1475:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1476;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2341, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1476:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1477;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1073, __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_fail1477;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1477:;
  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)
)
{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1478;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2776, __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_fail1478;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1478:;
	    }
	}
    }
  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 (rotate))
{
/* #line 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3606 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1479;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3608, __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_fail1479;
		  }
		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_fail1479;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1479:;
      }
    }
  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 (cmp))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1480;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5467, __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_fail1480;
	_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_fail1480;
      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_fail1480:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1481;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1078, __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_fail1481;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1481:;
  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 (lseq
      && (!single_use (captures[3])
          || !single_use (captures[4])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1482;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1083, __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_fail1482;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1482:;
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && TREE_CODE (TREE_TYPE (captures[2])) != BOOLEAN_TYPE
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[3]))
 && (TYPE_PRECISION (TREE_TYPE (captures[2])) >= TYPE_PRECISION (type)
 || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
 && (
1
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1483;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3297, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[4];
	  _o1[1] = captures[5];
	  gimple_match_op tem_op (res_op->cond.any_else (), cmp, 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_fail1483;
	  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_fail1483:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1484;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1088, __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_fail1484:;
  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[3])
          || !single_use (captures[4])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1485;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1083, __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_fail1485;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1485:;
  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 combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1486;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 336, __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_fail1486:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[1])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1487;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1094, __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_fail1487;
      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 (lseq, valueize);
	_r2 = maybe_push_res_to_seq (&tem_op, NULL);
	if (!_r2) goto next_after_fail1487;
	_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, NULL);
      if (!_r1) goto next_after_fail1487;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1487:;
  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 combined_fn ARG_UNUSED (SIN), const combined_fn ARG_UNUSED (TAN), const combined_fn ARG_UNUSED (COS))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6288 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1488;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6290, __FILE__, __LINE__);
	  {
	    res_op->set_op (COS, type, 1);
	    res_op->ops[0] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1488:;
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1489;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1088, __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_fail1489:;
  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)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[1])))
    lseq = NULL;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1490;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1099, __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_fail1490;
      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 (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, NULL);
      if (!_r1) goto next_after_fail1490;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail1490:;
  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)
)
{
/* #line 3338 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1491;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3340, __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_fail1491;
	  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_fail1491;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1491:;
    }
  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 (cmp))
{
/* #line 5839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1492;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5841, __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_fail1492:;
    }
  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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
)
    {
/* #line 1503 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1493;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1504, __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_fail1493;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1493:;
	}
      else
	{
/* #line 1505 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1494;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1506, __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_fail1494;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[4];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1494:;
	    }
	}
    }
  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 combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[5]);
/* #line 7449 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (inverse_conditions_p (captures[0], captures[2])
 && element_precision (type) == element_precision (op_type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1495;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7451, __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_fail1495;
		_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_fail1495;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1495:;
	}
  }
  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 enum tree_code ARG_UNUSED (cmp))
{
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1496;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4552, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1496:;
    }
  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 enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1497;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5499, __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_fail1497:;
  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 combined_fn ARG_UNUSED (SINH), const combined_fn ARG_UNUSED (COSH), const combined_fn ARG_UNUSED (TANH))
{
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1498;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6273, __FILE__, __LINE__);
      {
	res_op->set_op (TANH, type, 1);
	res_op->ops[0] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1498:;
    }
  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)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3850 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3856 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1499;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3858, __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_fail1499:;
	    }
	  else
	    {
	      {
/* #line 3859 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1500;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3860, __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_fail1500;
			  }
			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_fail1500;
			    }
			  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_fail1500;
			    }
			  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_fail1500;
			_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_fail1500;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1500:;
	      }
	    }
      }
    }
  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)
)
{
/* #line 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1501;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 330, __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_fail1501;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1501:;
    }
  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 (cmp), const enum tree_code ARG_UNUSED (cmp2))
{
/* #line 5218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5221 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5231 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (small || large
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1502;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5232, __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_fail1502;
		    }
		  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_fail1502;
		      }
		    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_fail1502;
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1502:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1503;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5233, __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_fail1503:;
	    }
      }
    }
  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 (cmp))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1504;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4772, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (true, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail1504:;
  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)
, const enum tree_code ARG_UNUSED (bit_op), const enum tree_code ARG_UNUSED (shift))
{
/* #line 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3581 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
/* #line 3582 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (mask
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1505;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3583, __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_fail1505;
		      }
		    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_fail1505;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  mask;
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1505:;
	    }
      }
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1172 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1506;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1173, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == GT_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1506:;
    }
  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)
)
{
/* #line 3004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1507;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3018, __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_fail1507;
		  }
		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_fail1507;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1507:;
      }
    }
  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 (cmp))
{
  {
/* #line 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int cand = wi::ctz (wi::to_wide (captures[2])) - wi::ctz (wi::to_wide (captures[0]));
/* #line 3467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1508;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3470, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (cmp == NE_EXPR, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1508:;
	}
      else
	{
/* #line 3471 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1509;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3473, __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_fail1509:;
	    }
	}
  }
  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 (minmax), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1510;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3244, __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_fail1510:;
    }
  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)
)
{
/* #line 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1511;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 516, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_minus_one_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1511:;
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1512;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2351, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1512:;
  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 (cmp))
{
/* #line 3259 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1513;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3261, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail1513:;
    }
  else
    {
/* #line 3262 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1514;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3264, __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_fail1514:;
	}
    }
  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)
, 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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 7339 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (integer_zerop (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1515;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7340, __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_fail1515:;
	}
      else
	{
/* #line 7341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1516;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7342, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == GT_EXPR ? true : false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1516:;
	    }
	  else
	    {
/* #line 7343 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (wi::to_widest (captures[2]) >= prec
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1517;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7344, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (cmp == GT_EXPR ? false : true, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1517:;
		}
	      else
		{
/* #line 7345 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (wi::to_widest (captures[2]) == prec - 1
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1518;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7346, __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_fail1518:;
		    }
		  else
		    {
/* #line 7349 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (single_use (captures[0])
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1519;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7350, __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_fail1519;
			      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_fail1519;
				_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_fail1519;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1519:;
			}
		    }
		}
	    }
	}
  }
  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)
)
{
/* #line 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1520;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1850, __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_fail1520;
	    _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_fail1520;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1520:;
    }
  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 enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (neg_cmp))
{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      {
/* #line 5946 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, captures[2], captures[1]);
/* #line 5948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (tem
 && !(REAL_VALUE_ISINF (TREE_REAL_CST (tem))
 || (real_zerop (tem) && !real_zerop (captures[1])))
)
	    {
/* #line 5952 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[1]))
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1521;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5953, __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_fail1521:;
		}
	      else
		{
/* #line 5954 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (real_less (TREE_REAL_CST_PTR (captures[1]), &dconst0)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1522;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5955, __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_fail1522:;
		    }
		}
	    }
      }
    }
  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 enum tree_code ARG_UNUSED (bitop))
{
/* #line 1698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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])
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[1])))
        lseq = NULL;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1523;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1702, __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_fail1523;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1523:;
    }
  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)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1524;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4776, __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_fail1524:;
  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)
)
{
/* #line 1252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_WRAPS (type)
 && !integer_all_onesp (captures[1])
)
    {
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1525;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1256, __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_fail1525;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_minus_one_cst (type);
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1525:;
    }
  else
    {
/* #line 1257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1526;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1261, __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_fail1526;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1526:;
	}
    }
  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)
)
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1527;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6238, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1527:;
  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))
{
  gimple_seq *lseq = seq;
  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1528;
  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1491, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail1528:;
  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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1529;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1529;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1529:;
			}
		      }
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 1518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1530;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1518, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1530:;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 1528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1531;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1528, __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_fail1531:;
		  }
	          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 4087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1532;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4087, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1532;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1532;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1532:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 1537 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1533;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1537, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1533:;
    }
  }
  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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1534;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1534:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1535;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1535:;
		  }
	          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 838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_321 (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 6157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_439 (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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COS;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1536;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COS;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1537;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1537:;
		  }
	          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 838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_321 (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 6157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_439 (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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1538;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1539;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1539:;
		  }
	          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 838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_321 (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 6157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_439 (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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_COS;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1540;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_COS;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1541;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1541:;
		  }
	          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 838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_321 (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 6157 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_439 (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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSHF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1542;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSHF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1543;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1543:;
		  }
	          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 838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_321 (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 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_341 (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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSH;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1544;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSH;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1545;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1545:;
		  }
	          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 838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_321 (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 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_341 (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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSHL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1546;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSHL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1547;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1547:;
		  }
	          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 838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_321 (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 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_341 (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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_COSH;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1548;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      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 795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_COSH;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1549;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 795, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1549:;
		  }
	          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 838 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_321 (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 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_341 (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 891 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1550;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 891, __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_fail1550:;
		  }
	          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 891 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1551;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 891, __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_fail1551:;
		  }
	          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 891 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1552;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 891, __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_fail1552:;
		  }
	          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 891 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1553;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 891, __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_fail1553:;
		  }
	          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 891 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1554;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 891, __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_fail1554:;
		  }
	          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 891 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1555;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 891, __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_fail1555:;
		  }
	          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 898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1556;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 898, __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_fail1556:;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1557;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 898, __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_fail1557:;
		  }
	          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 6192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1558;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6192, __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_fail1558:;
		      }
		    }
		  if (real_zerop (_q20))
		    {
		      {
/* #line 6192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1559;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6192, __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_fail1559:;
		      }
		    }
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			  {
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1560;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6368, __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_fail1560;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1560:;
			  }
		      }
		    }
	          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 898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1561;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 898, __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_fail1561:;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1562;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 898, __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_fail1562:;
		  }
	          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 6192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1563;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6192, __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_fail1563:;
		      }
		    }
		  if (real_zerop (_q20))
		    {
		      {
/* #line 6192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1564;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6192, __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_fail1564:;
		      }
		    }
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			  {
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1565;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6368, __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_fail1565;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1565:;
			  }
		      }
		    }
	          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 898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1566;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 898, __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_fail1566:;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 898 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1567;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 898, __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_fail1567:;
		  }
	          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 6192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1568;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6192, __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_fail1568:;
		      }
		    }
		  if (real_zerop (_q20))
		    {
		      {
/* #line 6192 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1569;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6192, __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_fail1569:;
		      }
		    }
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			  {
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1570;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6368, __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_fail1570;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1570:;
			  }
		      }
		    }
	          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 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
				    if (gimple_simplify_445 (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 1073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
				    if (gimple_simplify_445 (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 1078 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
				    if (gimple_simplify_449 (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 1078 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
				    if (gimple_simplify_449 (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 1231 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    gimple_seq *lseq = seq;
				    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1571;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1231, __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_fail1571:;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 1239 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1572;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1239, __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_fail1572;
			res_op->ops[0] = _r1;
		      }
		      res_op->ops[1] = captures[2];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1572:;
		  }
		  if (integer_each_onep (_q21))
		    {
		      {
/* #line 1815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_152 (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 1234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    if (gimple_simplify_30 (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 1234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				    if (gimple_simplify_30 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case INTEGER_CST:
		      {
			{
/* #line 1242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1573;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1246, __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_fail1573;
				  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_fail1573:;
			    }
			}
		        break;
		      }
		    default:;
		    }
		if (integer_all_onesp (_q21))
		  {
		    {
/* #line 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_301 (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 1266 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1266 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1574;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1267, __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 (lseq, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1574;
			    res_op->ops[0] = _r1;
			  }
			  res_op->ops[1] = captures[2];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1574:;
		      }
		    else
		      {
/* #line 1271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (!wi::neg_p (tree_nonzero_bits (captures[1]))
)
			  {
			    {
/* #line 1272 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1575;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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[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_fail1575;
					  }
					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 (lseq, valueize);
				      _r2 = maybe_push_res_to_seq (&tem_op, NULL);
				      if (!_r2) goto next_after_fail1575;
				      _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_fail1575;
				    res_op->ops[0] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1575:;
			    }
			  }
		      }
		  }
		  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 3588 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
						    if (gimple_simplify_257 (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 3588 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
				    if (gimple_simplify_257 (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 1790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1576;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1790, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1576:;
		  }
	          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 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				    if (gimple_simplify_147 (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 1815 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					if (gimple_simplify_152 (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 1820 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					if (gimple_simplify_301 (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 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					  if (gimple_simplify_286 (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 1831 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
						    if (gimple_simplify_154 (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 1831 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
						    if (gimple_simplify_154 (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 3588 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
								    if (gimple_simplify_218 (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 3588 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
						    if (gimple_simplify_218 (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 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
								    if (gimple_simplify_447 (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 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
						    if (gimple_simplify_447 (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 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
								    if (gimple_simplify_447 (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 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
						    if (gimple_simplify_447 (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 1795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_147 (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 1827 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_286 (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 1831 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    if (gimple_simplify_154 (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 1831 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				    if (gimple_simplify_154 (res_op, seq, valueize, type, captures))
				      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 (_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 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
						    if (gimple_simplify_303 (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 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
				    if (gimple_simplify_303 (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 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
						    if (gimple_simplify_303 (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 3601 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
				    if (gimple_simplify_303 (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 4087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1577;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4087, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1577;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1577;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1577:;
		  }
	          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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 4650 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_117 (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 1522 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
/* #line 1522 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
)
				      {
					gimple_seq *lseq = seq;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1578;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1523, __FILE__, __LINE__);
					{
					  tree tem;
					  tem = captures[1];
					  res_op->set_value (tem);
					  return true;
					}
next_after_fail1578:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 1532 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1579;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1532, __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_fail1579:;
		  }
	          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 4087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1580;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4087, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1580;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1580;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1580:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 1541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1581;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1541, __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_fail1581:;
    }
  }
  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 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if (gimple_negate_expr_p (_q20, valueize))
		    {
		      {
/* #line 1596 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_274 (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 1603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1582;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1607, __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_fail1582:;
		      }
		  }
	          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 1610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (type)
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1583;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1611, __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_fail1583:;
		      }
		  }
	          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 1622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_101 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if (gimple_negate_expr_p (_q20, valueize))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_101 (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 1629 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1629 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
			  {
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1584;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1631, __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_fail1584;
				res_op->ops[1] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1584:;
			  }
		      }
		    }
		  if (gimple_negate_expr_p (_q20, valueize))
		    {
		      {
/* #line 1635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
			  {
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1585;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1637, __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_fail1585;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[2];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1585:;
			  }
		      }
		    }
	          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 1642 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					  if (gimple_simplify_219 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    if (!TYPE_SATURATING (type)
)
				      {
/* #line 2551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1586;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2557, __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_fail1586:;
					  }
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q20_pops[1];
		  if (gimple_logical_inverted_value (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
/* #line 4580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
/* #line 4580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1587;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4585, __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_fail1587;
				  }
				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_fail1587:;
			  }
		      }
}
		}
		if (gimple_negate_expr_p (_q20, valueize))
		  {
		    {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (!TYPE_SATURATING (type)
)
			{
/* #line 2560 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1588;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2565, __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_fail1588;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1588:;
			    }
			}
		    }
		  }
	          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 1642 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_219 (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 1802 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_110 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_327 (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 4087 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1589;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4087, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1589;
			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 (lseq, 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:;
	      }
	  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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		      if (gimple_simplify_150 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		      if (gimple_simplify_150 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		      if (gimple_simplify_150 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		      if (gimple_simplify_150 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (canonicalize_math_after_vectorization_p ()
)
			{
/* #line 7035 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (single_use (captures[0])
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1590;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7036, __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_fail1590:;
			    }
			}
		    }
	          }
	        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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (canonicalize_math_after_vectorization_p ()
)
			{
/* #line 7049 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (single_use (captures[0])
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1591;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7050, __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_fail1591:;
			    }
			}
		    }
	          }
	        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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (canonicalize_math_after_vectorization_p ()
)
			{
/* #line 7063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (single_use (captures[0])
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1592;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7064, __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_fail1592:;
			    }
			}
		    }
	          }
	        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 1802 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			if (gimple_simplify_110 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		      break;
		    }
		  case NEGATE_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			if (gimple_simplify_327 (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 4580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
/* #line 4580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1593;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4585, __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_fail1593;
		  }
		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_fail1593:;
	  }
      }
}
}
  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 1698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
			  if (gimple_simplify_481 (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 1698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
			  if (gimple_simplify_481 (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 1698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
			  if (gimple_simplify_481 (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 1698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
			  if (gimple_simplify_481 (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 1698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
			  if (gimple_simplify_481 (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 1698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
			  if (gimple_simplify_481 (res_op, seq, valueize, type, captures, BIT_XOR_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 (_q21))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 2271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 2271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (POINTER_TYPE_P (type)
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1594;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2272, __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_fail1594:;
			    }
			}
		        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 3194 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
					  if (gimple_simplify_432 (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 3194 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
					  if (gimple_simplify_432 (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 (_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 3632 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
/* #line 3632 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  if (INTEGRAL_TYPE_P (type)
 && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 && TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (type)
 && !integer_zerop (captures[3])
)
					    {
					      gimple_seq *lseq = seq;
					      if (lseq
					          && (!single_use (captures[0])
					              || !single_use (captures[1])))
					        lseq = NULL;
					      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1595;
					      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3637, __FILE__, __LINE__);
					      {
						res_op->set_op (LSHIFT_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_fail1595;
						    }
						  else
						    _r1 = _o1[0];
						  res_op->ops[0] = _r1;
						}
						res_op->ops[1] = captures[3];
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail1595:;
					    }
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 3645 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 3645 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1596;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3647, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1596:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 = TYPE_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 = TYPE_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 = TYPE_PRECISION (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 3733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1597;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3739, __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_fail1597:;
			  }
			else
			  {
/* #line 3746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1598;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3750, __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_fail1598:;
			      }
			    else
			      {
/* #line 3756 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1599;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3760, __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_fail1599:;
				  }
				else
				  {
/* #line 3773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1600;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3783, __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_fail1600:;
				      }
				    else
				      {
/* #line 3787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1601;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3792, __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_fail1601;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1601:;
					  }
					else
					  {
/* #line 3800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1602;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3804, __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_fail1602:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 = TYPE_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 = TYPE_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 = TYPE_PRECISION (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 3733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1603;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3739, __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_fail1603:;
			  }
			else
			  {
/* #line 3746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1604;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3750, __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_fail1604:;
			      }
			    else
			      {
/* #line 3756 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1605;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3760, __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_fail1605:;
				  }
				else
				  {
/* #line 3773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1606;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3783, __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_fail1606:;
				      }
				    else
				      {
/* #line 3787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1607;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3792, __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_fail1607;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1607:;
					  }
					else
					  {
/* #line 3800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1608;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3804, __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_fail1608:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          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 3824 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3824 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1609;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3829, __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_fail1609:;
			    }
			}
		        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 6501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						    if (gimple_simplify_231 (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 6501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						    if (gimple_simplify_231 (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 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
						    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, PLUS_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
				    if (gimple_simplify_317 (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 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
				    if (gimple_simplify_120 (res_op, seq, valueize, type, captures, PLUS_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
		    if (gimple_simplify_193 (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 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
						    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, MINUS_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
				    if (gimple_simplify_317 (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 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
				    if (gimple_simplify_120 (res_op, seq, valueize, type, captures, MINUS_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
		    if (gimple_simplify_193 (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 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
						    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, MULT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
				    if (gimple_simplify_317 (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 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
				    if (gimple_simplify_120 (res_op, seq, valueize, type, captures, MULT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
		    if (gimple_simplify_193 (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 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
						    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, RDIV_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
				    if (gimple_simplify_317 (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 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
				    if (gimple_simplify_120 (res_op, seq, valueize, type, captures, RDIV_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 6654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
		    if (gimple_simplify_193 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_262 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_352 (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 6486 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q50, _q70 };
								      if (gimple_simplify_259 (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 6486 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q50, _q70 };
								      if (gimple_simplify_259 (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 6486 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q50, _q70 };
								      if (gimple_simplify_259 (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 3645 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 3645 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1610;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3647, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1610:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 3652 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1611;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3652, __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_fail1611:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 3658 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 3658 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1612;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3661, __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_fail1612:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 3667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
/* #line 3667 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1613;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3673, __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_fail1613:;
		      }
		  }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 3678 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    {
/* #line 3678 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
 ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
/* #line 3682 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (CONSTRUCTOR_NELTS (ctor) == 0
)
			  {
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1614;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3683, __FILE__, __LINE__);
			    {
			      tree tem;
			      tem =  build_zero_cst (type);
			      res_op->set_value (tem);
			      return true;
			    }
next_after_fail1614:;
			  }
			else
			  {
/* #line 3684 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1615;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3689, __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_fail1615:;
			      }
			  }
		    }
		  }
	          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 3645 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 3645 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1616;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3647, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1616:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 = TYPE_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 = TYPE_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 = TYPE_PRECISION (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 3733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1617;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3739, __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_fail1617:;
			  }
			else
			  {
/* #line 3746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1618;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3750, __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_fail1618:;
			      }
			    else
			      {
/* #line 3756 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1619;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3760, __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_fail1619:;
				  }
				else
				  {
/* #line 3773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1620;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3783, __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_fail1620:;
				      }
				    else
				      {
/* #line 3787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1621;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3792, __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_fail1621;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1621:;
					  }
					else
					  {
/* #line 3800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1622;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3804, __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_fail1622:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 = TYPE_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 = TYPE_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 = TYPE_PRECISION (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 3733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1623;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3739, __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_fail1623:;
			  }
			else
			  {
/* #line 3746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1624;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3750, __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_fail1624:;
			      }
			    else
			      {
/* #line 3756 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1625;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3760, __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_fail1625:;
				  }
				else
				  {
/* #line 3773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1626;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3783, __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_fail1626:;
				      }
				    else
				      {
/* #line 3787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1627;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3792, __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_fail1627;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1627:;
					  }
					else
					  {
/* #line 3800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1628;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3804, __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_fail1628:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case FIX_TRUNC_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 3812 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (!flag_trapping_math
 && types_match (type, TREE_TYPE (captures[0]))
 && direct_internal_fn_supported_p (IFN_TRUNC, type,
 OPTIMIZE_FOR_BOTH)
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1629;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3816, __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_fail1629:;
		      }
		  }
	          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 3645 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 3645 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1630;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3647, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1630:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 = TYPE_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 = TYPE_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 = TYPE_PRECISION (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 3733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1631;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3739, __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_fail1631:;
			  }
			else
			  {
/* #line 3746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1632;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3750, __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_fail1632:;
			      }
			    else
			      {
/* #line 3756 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1633;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3760, __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_fail1633:;
				  }
				else
				  {
/* #line 3773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1634;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3783, __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_fail1634:;
				      }
				    else
				      {
/* #line 3787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1635;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3792, __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_fail1635;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1635:;
					  }
					else
					  {
/* #line 3800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1636;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3804, __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_fail1636:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 3705 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 = TYPE_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 = TYPE_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 = TYPE_PRECISION (type);
 int final_unsignedp = TYPE_UNSIGNED (type);
/* #line 3733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1637;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3739, __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_fail1637:;
			  }
			else
			  {
/* #line 3746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1638;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3750, __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_fail1638:;
			      }
			    else
			      {
/* #line 3756 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1639;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3760, __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_fail1639:;
				  }
				else
				  {
/* #line 3773 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1640;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3783, __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_fail1640:;
				      }
				    else
				      {
/* #line 3787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1641;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3792, __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_fail1641;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1641:;
					  }
					else
					  {
/* #line 3800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1642;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3804, __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_fail1642:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          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 3698 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1643;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3698, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1643:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (CONSTANT_CLASS_P (_p0))
  {
    {
/* #line 3695 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1644;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3695, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1644:;
    }
  }
  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 3922 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1645;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3922, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1645:;
		  }
	          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 3930 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1646;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3930, __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_fail1646;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1646:;
				  }
			          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 3938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1647;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __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_fail1647;
					  _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_fail1647;
					  _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_fail1647;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1647:;
				  }
			          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 3938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1648;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __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_fail1648;
					  _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_fail1648;
					  _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_fail1648;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1648:;
				  }
			          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 3941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1649;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3941, __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_fail1649;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1649:;
				    }
			          }
			        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 3941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1650;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3941, __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_fail1650;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1650:;
				    }
			          }
			        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 3941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1651;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3941, __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_fail1651;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1651:;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 3930 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1652;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3930, __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_fail1652;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1652:;
		  }
	          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 3938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1653;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __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_fail1653;
			  _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_fail1653;
			  _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_fail1653;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1653:;
		  }
	          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 3938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1654;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __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_fail1654;
			  _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_fail1654;
			  _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_fail1654;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1654:;
		  }
	          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 3941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1655;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3941, __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_fail1655;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1655:;
		    }
	          }
	        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 3941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1656;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3941, __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_fail1656;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1656:;
		    }
	          }
	        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 3941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1657;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3941, __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_fail1657;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1657:;
		    }
	          }
	        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 3925 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1658;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3925, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[1];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1658:;
		  }
	          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 3933 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1659;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3933, __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_fail1659;
					  _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_fail1659;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1659:;
				  }
			          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 3938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1660;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __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_fail1660;
					  _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_fail1660;
					  _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_fail1660;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1660:;
				  }
			          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 3938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1661;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __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_fail1661;
					  _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_fail1661;
					  _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_fail1661;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1661:;
				  }
			          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 3944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1662;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3944, __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_fail1662;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1662:;
				    }
			          }
			        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 3944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1663;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3944, __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_fail1663;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1663:;
				    }
			          }
			        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 3944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1664;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3944, __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_fail1664;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1664:;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 3933 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1665;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3933, __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_fail1665;
			  _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_fail1665;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1665:;
		  }
	          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 3938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1666;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __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_fail1666;
			  _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_fail1666;
			  _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_fail1666;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1666:;
		  }
	          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 3938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1667;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3938, __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_fail1667;
			  _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_fail1667;
			  _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_fail1667;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1667:;
		  }
	          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 3944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1668;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3944, __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_fail1668;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1668:;
		    }
	          }
	        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 3944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1669;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3944, __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_fail1669;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1669:;
		    }
	          }
	        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 3944 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1670;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3944, __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_fail1670;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1670:;
		    }
	          }
	        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 3949 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				    if (gimple_simplify_134 (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 3955 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
				    {
/* #line 3955 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1671;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3956, __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_fail1671;
					      }
					    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_fail1671;
					        }
					      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_fail1671;
					    res_op->ops[1] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1671:;
				    }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 3949 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_134 (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 3955 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    {
/* #line 3955 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1672;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3956, __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_fail1672;
			      }
			    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_fail1672;
			        }
			      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_fail1672;
			    res_op->ops[1] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1672:;
		    }
		  }
	          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 3966 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				      if (gimple_simplify_56 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_80 (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 3966 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				      if (gimple_simplify_56 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_80 (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 3966 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				      if (gimple_simplify_56 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_80 (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 3966 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				      if (gimple_simplify_56 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_260 (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 3970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_260 (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 3963 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_80 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1673;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1673:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1674;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1674;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1674:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1675;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1675;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1675:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1676;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1676;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1676:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1677;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1677;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1677:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1678;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1678;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1678:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1679;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1679:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1680;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1680;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1680:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1681;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1681;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1681:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1682;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1682;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1682:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1683;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1683;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1683:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1684;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1684;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1684:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1685;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1686;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1686;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1687;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1687;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1688;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1688;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1689;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_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);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1690;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_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);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1691;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1691:;
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1692;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1692;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1692:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1693;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1693;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1693:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1694;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1694;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1694:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1695;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1695:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1696;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1696;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1696:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1697;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1697;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1697:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1698;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1698;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1698:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1699;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1699;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1699:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1700;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1700;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1700:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1701;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1701:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1702;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1702;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1702:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1703;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1703;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1703:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1704;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1704;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1704:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1705;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1705;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1705:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1706;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1706;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1706:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1707;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1707:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1708;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1708;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1708:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1709;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1709;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1709:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1710;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1710;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1710:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1711;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1711;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1711:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1712;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1712;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1712:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1713;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1713:;
			}
		    }
	          }
	        break;
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1714;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1714;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1714:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1715;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1715;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1715:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1716;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1716;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1716:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1717;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1717:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1718;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1718:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1719;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1719;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1719:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1720;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1720;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1720:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1721;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1721;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1721:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1722;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1722;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1722:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1723;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1723:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1724;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1724:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1725;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1725;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1725:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1726;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1726;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1726:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1727;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1727;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1727:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1728;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1728;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1728:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1729;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1729:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1730;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1730:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1731;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1731;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1731:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1732;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1732;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1732:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1733;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1733;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1733:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1734;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1734;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1734:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1735;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5986, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1735:;
			}
		    }
	          }
	        break;
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1736;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1736;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1736:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 5999 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1737;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6025, __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_fail1737;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1737:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6033 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6034 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1738;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6050, __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_fail1738;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1738:;
			      }
			    }
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_155 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1739;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1739:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1740;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1740:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1741;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1741:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1742;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1742:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1743;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1743:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1744;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1744:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1745;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1745:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1746;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1746:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1747;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1747:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1748;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1748:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1749;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1749:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1750;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1750:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1751;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1751:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1752;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1752:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1753;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5990, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1753:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1754;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1754;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1754:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1755;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1755;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1755:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1756;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1756;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1756:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1757;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1757;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1757:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1758;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6331, __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_fail1758:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1759;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6335, __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_fail1759:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1760;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6347, __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_fail1760;
			      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_fail1760;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1760:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1761;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1761;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1761:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1762;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1762;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1762:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1763;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1763;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1763:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1764;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1764;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1764:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1765;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6331, __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_fail1765:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1766;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6335, __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_fail1766:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1767;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6347, __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_fail1767;
			      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_fail1767;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1767:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1768;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1768;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1768:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1769;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1769;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1769:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1770;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1770;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1770:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1771;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1771;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1771:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1772;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6331, __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_fail1772:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1773;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6335, __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_fail1773:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1774;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6347, __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_fail1774;
			      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_fail1774;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1774:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1775;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1775;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1775:;
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1776;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1776;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1776:;
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1777;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6114, __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_fail1777;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1777:;
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1778;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6331, __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_fail1778:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1779;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6347, __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_fail1779;
			      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_fail1779;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1779:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1780;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1780;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1780:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1781;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1781;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1781:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1782;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1782;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1782:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1783;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1783;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1783:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1784;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6339, __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_fail1784:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1785;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6343, __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_fail1785:;
			    }
			}
		      }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1786;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6351, __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_fail1786;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1786:;
			    }
			}
		      }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1787;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1787;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1787:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1788;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1788;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1788:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1789;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1789;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1789:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1790;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1790;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1790:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1791;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6339, __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_fail1791:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1792;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6343, __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_fail1792:;
			    }
			}
		      }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1793;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6351, __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_fail1793;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1793:;
			    }
			}
		      }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1794;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1794;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1794:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1795;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1795;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1795:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1796;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1796;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1796:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1797;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6118, __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_fail1797;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1797:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1798;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6339, __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_fail1798:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1799;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6343, __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_fail1799:;
			    }
			}
		      }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1800;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6351, __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_fail1800;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1800:;
			    }
			}
		      }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_115 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_115 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_115 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_115 (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 6138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_412 (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 6138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_412 (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 6138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_412 (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 6138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_412 (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 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_423 (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 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_423 (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 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_423 (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 6170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_423 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNC))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_126 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL, CFN_BUILT_IN_TRUNC))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_TRUNC))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_126 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOOR))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF16))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64X))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128X))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_FLOOR))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (res_op, seq, valueize, type, captures, CFN_FLOOR))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_330 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEIL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_126 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_CEIL))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_CEIL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUND))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_126 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL, CFN_BUILT_IN_ROUND))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_ROUND))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_126 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL, CFN_BUILT_IN_NEARBYINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_NEARBYINT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6410 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_126 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTL, CFN_BUILT_IN_RINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6432 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_378 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, CFN_RINT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6203 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_375 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
	  {
/* #line 6381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex, TREE_TYPE (captures[0]))
)
	      {
		gimple_seq *lseq = seq;
		if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1801;
		if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6382, __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_fail1801;
			_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_fail1801;
		      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_fail1801;
			  _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_fail1801;
			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_fail1801;
		      _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_fail1801;
		    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_fail1801;
		      _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_fail1801;
		    res_op->ops[1] = _r1;
		  }
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1801:;
	      }
	  }
      }
    }
  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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
	  {
/* #line 6381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex, TREE_TYPE (captures[0]))
)
	      {
		gimple_seq *lseq = seq;
		if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1802;
		if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6382, __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_fail1802;
			_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_fail1802;
		      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_fail1802;
			  _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_fail1802;
			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_fail1802;
		      _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_fail1802;
		    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_fail1802;
		      _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_fail1802;
		    res_op->ops[1] = _r1;
		  }
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1802:;
	      }
	  }
      }
    }
  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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
	  {
/* #line 6381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex, TREE_TYPE (captures[0]))
)
	      {
		gimple_seq *lseq = seq;
		if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1803;
		if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6382, __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_fail1803;
			_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_fail1803;
		      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_fail1803;
			  _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_fail1803;
			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_fail1803;
		      _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_fail1803;
		    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_fail1803;
		      _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_fail1803;
		    res_op->ops[1] = _r1;
		  }
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1803:;
	      }
	  }
      }
    }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL, CFN_BUILT_IN_IFLOOR))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1804;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1804:;
	}
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1805;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1805:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1806;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LFLOORL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1806:;
	  }
      }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORL, CFN_BUILT_IN_LFLOOR))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1807;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1807:;
	}
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1808;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1808:;
	}
    }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORL, CFN_BUILT_IN_LLFLOOR))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1809;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1809:;
	}
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1810;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1810:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1811;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LFLOORL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1811:;
	  }
      }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILL, CFN_BUILT_IN_ICEIL))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1812;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1812:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1813;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LCEILL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1813:;
	  }
      }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LCEILL, CFN_BUILT_IN_LCEIL))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1814;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1814:;
	}
    }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLCEILL, CFN_BUILT_IN_LLCEIL))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1815;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1815:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1816;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LCEILL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1816:;
	  }
      }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDL, CFN_BUILT_IN_IROUND))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1817;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1817:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1818;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LROUNDL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1818:;
	  }
      }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LROUNDL, CFN_BUILT_IN_LROUND))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1819;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1819:;
	}
    }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUNDL, CFN_BUILT_IN_LLROUND))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1820;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1820:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1821;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LROUNDL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1821:;
	  }
      }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTL, CFN_BUILT_IN_IRINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!flag_errno_math
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1822;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1822:;
	    }
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1823;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LRINTL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1823:;
	  }
      }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LRINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!flag_errno_math
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1824;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1824:;
	    }
	}
    }
  }
  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 6513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLRINTL, CFN_BUILT_IN_LLRINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!flag_errno_math
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1825;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1825:;
	    }
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1826;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LRINTL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1826:;
	  }
      }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1827;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1827:;
	}
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1828;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1828:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1829;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LFLOOR, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1829:;
	  }
      }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1830;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1830:;
	}
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1831;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1831:;
	}
    }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1832;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1832:;
	}
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1833;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1833:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1834;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LFLOOR, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1834:;
	  }
      }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1835;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1835:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1836;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LCEIL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1836:;
	  }
      }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1837;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1837:;
	}
    }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1838;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1838:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1839;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LCEIL, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1839:;
	  }
      }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1840;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1840:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1841;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LROUND, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1841:;
	  }
      }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1842;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1842:;
	}
    }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1843;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1843:;
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1844;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LROUND, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1844:;
	  }
      }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!flag_errno_math
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1845;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1845:;
	    }
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1846;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LRINT, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1846:;
	  }
      }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!flag_errno_math
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1847;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1847:;
	    }
	}
    }
  }
  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 6523 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_122 (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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (canonicalize_math_p ()
)
	{
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!flag_errno_math
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1848;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1848:;
	    }
	}
    }
  }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1849;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LRINT, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1849:;
	  }
      }
  }
  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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1850;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1850:;
	  }
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1851;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1851:;
	  }
      }
    }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1852;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LFLOORF, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1852:;
	  }
      }
  }
  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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1853;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1853:;
	  }
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1854;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1854:;
	  }
      }
    }
  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 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6528 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1855;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6533, __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_fail1855:;
	  }
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1856;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1856:;
	  }
      }
    }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1857;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LFLOORF, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1857:;
	  }
      }
  }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1858;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1858:;
	  }
      }
    }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1859;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LCEILF, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1859:;
	  }
      }
  }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1860;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1860:;
	  }
      }
    }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1861;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1861:;
	  }
      }
    }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1862;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LCEILF, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1862:;
	  }
      }
  }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1863;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1863:;
	  }
      }
    }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1864;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LROUNDF, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1864:;
	  }
      }
  }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1865;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1865:;
	  }
      }
    }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1866;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6542, __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_fail1866:;
	  }
      }
    }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1867;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LROUNDF, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1867:;
	  }
      }
  }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    if (!flag_errno_math
)
	      {
		gimple_seq *lseq = seq;
		if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1868;
		if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1868:;
	      }
	  }
      }
    }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6556 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1869;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6560, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LRINTF, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1869:;
	  }
      }
  }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    if (!flag_errno_math
)
	      {
		gimple_seq *lseq = seq;
		if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1870;
		if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1870:;
	      }
	  }
      }
    }
  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 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (canonicalize_math_p ()
)
	  {
/* #line 6543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    if (!flag_errno_math
)
	      {
		gimple_seq *lseq = seq;
		if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1871;
		if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6548, __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_fail1871:;
	      }
	  }
      }
    }
  {
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6550 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (canonicalize_math_p ()
)
      {
/* #line 6563 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1872;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6567, __FILE__, __LINE__);
	    {
	      res_op->set_op (CFN_BUILT_IN_LRINTF, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1872:;
	  }
      }
  }
  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 6572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type)
)
      {
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1873;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6573, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1873:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 6579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinf (TREE_REAL_CST_PTR (captures[0]))
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1874;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6580, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  build_complex_inf (type, false);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1874:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			{
/* #line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (real_isinf (TREE_REAL_CST_PTR (captures[1]))
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1875;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6586, __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_fail1875:;
			    }
			}
		        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 6572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type)
)
      {
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1876;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6573, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1876:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 6579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinf (TREE_REAL_CST_PTR (captures[0]))
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1877;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6580, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  build_complex_inf (type, false);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1877:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			{
/* #line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (real_isinf (TREE_REAL_CST_PTR (captures[1]))
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1878;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6586, __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_fail1878:;
			    }
			}
		        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 6572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6572 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type)
)
      {
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1879;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6573, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1879:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 6579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6579 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinf (TREE_REAL_CST_PTR (captures[0]))
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1880;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6580, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  build_complex_inf (type, false);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1880:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			{
/* #line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6585 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (real_isinf (TREE_REAL_CST_PTR (captures[1]))
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1881;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6586, __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_fail1881:;
			    }
			}
		        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 6795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_8 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBITF))
	  return true;
      }
    }
  {
/* #line 6800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_13 (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 6795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_8 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBIT))
	  return true;
      }
    }
  {
/* #line 6800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_13 (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 6795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_8 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBITL))
	  return true;
      }
    }
  {
/* #line 6800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_13 (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 6795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_8 (res_op, seq, valueize, type, captures, CFN_SIGNBIT))
	  return true;
      }
    }
  {
/* #line 6800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_13 (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 7190 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_368 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7190 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_368 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYL))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7190 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_368 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYLL))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7190 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_368 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYIMAX))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7190 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_368 (res_op, seq, valueize, type, captures, CFN_PARITY))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_234 (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 7302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_407 (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 7302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_407 (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 7302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_407 (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 7302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_407 (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 7302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_407 (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 7543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					      if (gimple_simplify_104 (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 7543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_104 (res_op, seq, valueize, type, captures, CFN_REDUC_PLUS))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 7558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (gimple_simplify_109 (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 7571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1882;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7571, __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_fail1882;
			      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_fail1882;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1882:;
			}
		        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 7543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					      if (gimple_simplify_104 (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 7543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_104 (res_op, seq, valueize, type, captures, CFN_REDUC_IOR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 7558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (gimple_simplify_109 (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 7571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1883;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7571, __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_fail1883;
			      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_fail1883;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1883:;
			}
		        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 7543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					      if (gimple_simplify_104 (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 7543 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_104 (res_op, seq, valueize, type, captures, CFN_REDUC_XOR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 7558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (gimple_simplify_109 (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 7571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1884;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7571, __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_fail1884;
			      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_fail1884;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1884:;
			}
		        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 7571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1885;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7571, __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_fail1885;
			      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_fail1885;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1885:;
			}
		        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 7571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1886;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7571, __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_fail1886;
			      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_fail1886;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1886:;
			}
		        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 7571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1887;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7571, __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_fail1887;
				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_fail1887;
				res_op->ops[1] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1887:;
			  }
		          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 7571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1888;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7571, __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_fail1888;
				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_fail1888;
				res_op->ops[1] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1888:;
			  }
		          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 7571 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1889;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7571, __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_fail1889;
			      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_fail1889;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1889:;
			}
		        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_BUILT_IN_LFLOORF:
      return gimple_simplify_CFN_BUILT_IN_LFLOORF (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_BUILT_IN_ICEILF:
      return gimple_simplify_CFN_BUILT_IN_ICEILF (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_BUILT_IN_LLCEILF:
      return gimple_simplify_CFN_BUILT_IN_LLCEILF (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_BUILT_IN_LROUNDF:
      return gimple_simplify_CFN_BUILT_IN_LROUNDF (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_BUILT_IN_IRINTF:
      return gimple_simplify_CFN_BUILT_IN_IRINTF (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_BUILT_IN_LLRINTF:
      return gimple_simplify_CFN_BUILT_IN_LLRINTF (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q41 };
						  if (gimple_simplify_31 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
						  if (gimple_simplify_31 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q61 };
						  if (gimple_simplify_31 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _p0, _q51 };
						  if (gimple_simplify_31 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1890;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1890:;
    }
  }
  switch (TREE_CODE (_p0))
    {
    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_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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_419 (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 1026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
								    if (gimple_simplify_383 (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 1042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							if (gimple_simplify_430 (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 1026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
								    if (gimple_simplify_383 (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 1042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q30 };
							if (gimple_simplify_430 (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 1047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
					if (gimple_simplify_435 (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 1047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
					if (gimple_simplify_435 (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 1042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q60 };
							if (gimple_simplify_430 (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 1042 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
							if (gimple_simplify_430 (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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_72 (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 1047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
					if (gimple_simplify_435 (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 1047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
					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_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 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				    if (gimple_simplify_455 (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 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
				    if (gimple_simplify_455 (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 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
				    if (gimple_simplify_455 (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 1094 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
				    if (gimple_simplify_455 (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 1099 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				    if (gimple_simplify_458 (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 1099 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
				    if (gimple_simplify_458 (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 1099 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
				    if (gimple_simplify_458 (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 1099 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
				    if (gimple_simplify_458 (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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_72 (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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_72 (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 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
										if (gimple_simplify_374 (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 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
								if (gimple_simplify_374 (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 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
							if (gimple_simplify_131 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
						    {
						      {
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
							if (gimple_simplify_131 (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 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
					if (gimple_simplify_131 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
				    {
				      {
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
					if (gimple_simplify_131 (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 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
							if (gimple_simplify_131 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
							if (gimple_simplify_131 (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 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
					if (gimple_simplify_131 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
				    {
				      {
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
					if (gimple_simplify_131 (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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_72 (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 1201 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1891;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1201, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  build_zero_cst (type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1891:;
      }
    }
  if (integer_all_onesp (_p1))
    {
      {
/* #line 1206 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1892;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1206, __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_fail1892:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_53 (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 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_53 (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 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
							    if (gimple_simplify_53 (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 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
							    if (gimple_simplify_53 (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 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
							    if (gimple_simplify_53 (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 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
							    if (gimple_simplify_53 (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 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
							    if (gimple_simplify_53 (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 1391 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
									    if (gimple_simplify_89 (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 1391 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
									    if (gimple_simplify_89 (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 1306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
							    if (gimple_simplify_57 (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 1296 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
							    if (gimple_simplify_53 (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 1306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
							    if (gimple_simplify_57 (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 1324 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_66 (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 1329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_67 (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 1391 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
									    if (gimple_simplify_89 (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 1391 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
									    if (gimple_simplify_89 (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 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
					if (gimple_simplify_131 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
					if (gimple_simplify_131 (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 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
			if (gimple_simplify_131 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
		    {
		      {
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
			if (gimple_simplify_131 (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 1306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
							    if (gimple_simplify_57 (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 1306 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
							    if (gimple_simplify_57 (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 1329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_67 (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 1337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_69 (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 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
					if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
					if (gimple_simplify_138 (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 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
			if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
		    {
		      {
/* #line 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
			if (gimple_simplify_138 (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 1324 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_66 (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 1337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_69 (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 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
								if (gimple_simplify_374 (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 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
						if (gimple_simplify_374 (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 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
					if (gimple_simplify_131 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
					if (gimple_simplify_131 (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 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
			if (gimple_simplify_131 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
		    {
		      {
/* #line 1448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
			if (gimple_simplify_131 (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 1454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
								    if (gimple_simplify_310 (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 1454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
						    if (gimple_simplify_310 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case INTEGER_CST:
				      {
					{
/* #line 1461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
					  if (gimple_simplify_45 (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 1454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
						    if (gimple_simplify_310 (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 1454 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_310 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case INTEGER_CST:
		      {
			{
/* #line 1461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_45 (res_op, seq, valueize, type, captures))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
		  {
/* #line 1837 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1 };
		    if (gimple_simplify_223 (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 1469 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_16 (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 1469 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_16 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
					if (gimple_simplify_169 (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 1469 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_16 (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 1469 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_16 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
									if (gimple_simplify_169 (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 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
							if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
						    {
						      {
/* #line 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
							if (gimple_simplify_138 (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 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
					if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
				    {
				      {
/* #line 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
					if (gimple_simplify_138 (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 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
							if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
						    {
						      {
/* #line 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
							if (gimple_simplify_138 (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 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
					if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
				    {
				      {
/* #line 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
					if (gimple_simplify_138 (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 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
					if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
				    {
				      {
/* #line 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
					if (gimple_simplify_138 (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 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
			if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
		    {
		      {
/* #line 1495 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
			if (gimple_simplify_138 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
									if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q70 };
									if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q71 };
									if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q70 };
									if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q61 };
							if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
							if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q61 };
							if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q60 };
							if (gimple_simplify_246 (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 1660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_170 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 1660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_283 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q61 };
							if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q60 };
							if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q61 };
							if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q60 };
							if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_246 (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 1510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_246 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 1731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_28 (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 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1893;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail1893;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1893:;
						  }
						  {
/* #line 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1894;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail1894;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1894:;
						  }
					        }
					    }
					  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 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1895;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail1895;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1895:;
						  }
						  {
/* #line 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1896;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail1896;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1896:;
						  }
					        }
					    }
				          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 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1897;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail1897;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1897:;
						  }
						  {
/* #line 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1898;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail1898;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1898:;
						  }
					        }
					    }
				        }
				    }
				  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 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1899;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail1899;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1899:;
						  }
						  {
/* #line 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1900;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail1900;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1900:;
						  }
					        }
					    }
				        }
				    }
			          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 1780 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		if (gimple_simplify_60 (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 1837 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1 };
			if (gimple_simplify_174 (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 1780 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		if (gimple_simplify_60 (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 1837 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
		    if (gimple_simplify_223 (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 1837 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			if (gimple_simplify_174 (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 2155 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_254 (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 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_311 (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 3054 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_47 (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 3064 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			      if (gimple_simplify_338 (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 3054 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_47 (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 3064 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			      if (gimple_simplify_338 (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 3072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_112 (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 3086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			      if (gimple_simplify_52 (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 3086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			      if (gimple_simplify_52 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			        return true;
			    }
			    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 (_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)))
				    {
				      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 _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 NEGATE_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (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;
				        default:;
				        }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _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_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 NEGATE_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_172 (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;
				        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 NEGATE_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_CONVERT:
							        {
								  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 LT_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case LE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case EQ_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  if (tree_swap_operands_p (_q70, _q71))
										    std::swap (_q70, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case NE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  if (tree_swap_operands_p (_q70, _q71))
										    std::swap (_q70, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GT_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
													  return true;
												      }
												    }
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_172 (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;
				    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_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_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 (_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 _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 NEGATE_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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_CONVERT:
									        {
										  tree _q80 = gimple_assign_rhs1 (_a5);
										  _q80 = do_valueize (valueize, _q80);
										  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 LT_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case LE_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case EQ_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);
												  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case NE_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);
												  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case GE_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case GT_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case NEGATE_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 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 ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case LE_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case EQ_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 ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case NE_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 ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case GE_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case GT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          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 NEGATE_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_CONVERT:
							        {
								  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 LT_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  switch (TREE_CODE (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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);
												  if ((_p1 == _q90 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q90, 0) && types_match (_p1, _q90)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q90, _q91, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case LE_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  switch (TREE_CODE (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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);
												  if ((_p1 == _q90 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q90, 0) && types_match (_p1, _q90)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q90, _q91, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case EQ_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 (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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);
												  if ((_p1 == _q90 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q90, 0) && types_match (_p1, _q90)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q90, _q91, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case NE_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 (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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);
												  if ((_p1 == _q90 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q90, 0) && types_match (_p1, _q90)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q90, _q91, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GE_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  switch (TREE_CODE (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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);
												  if ((_p1 == _q90 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q90, 0) && types_match (_p1, _q90)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q90, _q91, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GT_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  switch (TREE_CODE (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case BIT_XOR_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);
												  if ((_p1 == _q90 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q90, 0) && types_match (_p1, _q90)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q90, _q91, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
													  return true;
												      }
												    }
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_172 (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;
				    default:;
				    }
			          break;
			        }
			      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 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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  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 ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  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 ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  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 ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  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 ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  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 ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  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 ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								    }
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_172 (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;
    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_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)))
				    {
				      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 NEGATE_EXPR:
						    {
						      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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _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 NEGATE_EXPR:
						    {
						      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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      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 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 (_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_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          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 (_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_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          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 (_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_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          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 (_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_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          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 (_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_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          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 (_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_XOR_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 == _p0 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _p0, 0) && types_match (_q80, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								    }
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3313 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_172 (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;
    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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1901;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail1901;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail1901;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1901:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1902;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1902;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1902;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1902:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1903;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1903;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1903;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1903:;
		  }
	          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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
					    if (gimple_simplify_320 (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 4696 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
					    if (gimple_simplify_90 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4688 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
					    if (gimple_simplify_320 (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 4696 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _p0, _q20 };
					    if (gimple_simplify_90 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (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 4664 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_84 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
			  return true;
		      }
		    }
	          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 7195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_370 (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 7195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_370 (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 7195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_370 (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 7195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_370 (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 7195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_370 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1904;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1904:;
      }
    }
  if (real_zerop (_p1))
    {
      {
/* #line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_394 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_12 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_12 (res_op, seq, valueize, type, captures, PLUS_EXPR, 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);
						  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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_419 (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 1026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
								    if (gimple_simplify_383 (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 1026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
								    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, PLUS_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_72 (res_op, seq, valueize, type, captures, PLUS_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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_72 (res_op, seq, valueize, type, captures, PLUS_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (_p0))
  {
    {
/* #line 198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      if (gimple_simplify_394 (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);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_72 (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 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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_72 (res_op, seq, valueize, type, captures, PLUS_EXPR))
			  return true;
		      }
		    }
		  {
/* #line 1252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    if (gimple_simplify_483 (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);
		  {
/* #line 1252 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
		    if (gimple_simplify_483 (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 1279 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			    if (gimple_simplify_46 (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 1279 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			    if (gimple_simplify_46 (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 1337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_69 (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 1342 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_178 (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 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
								if (gimple_simplify_374 (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 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
						if (gimple_simplify_374 (res_op, seq, valueize, type, captures, PLUS_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 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 (_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 _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 NEGATE_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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_CONVERT:
									        {
										  tree _q80 = gimple_assign_rhs1 (_a5);
										  _q80 = do_valueize (valueize, _q80);
										  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 LT_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case LE_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case EQ_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);
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case NE_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);
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case GE_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      case GT_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q60, _q80, _q90, _q91 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case NEGATE_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 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 ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case LE_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case EQ_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 ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case NE_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 ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case GE_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      case GT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _q60, _q70, _q71 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          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 NEGATE_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_CONVERT:
							        {
								  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 LT_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  switch (TREE_CODE (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case LE_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  switch (TREE_CODE (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case EQ_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 (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case NE_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 (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GE_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  switch (TREE_CODE (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GT_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  switch (TREE_CODE (_q21))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q21))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q90 = gimple_assign_rhs1 (_a6);
												  _q90 = do_valueize (valueize, _q90);
												  tree _q91 = gimple_assign_rhs2 (_a6);
												  _q91 = do_valueize (valueize, _q91);
												  if ((_p1 == _q91 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q91, 0) && types_match (_p1, _q91)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _q91, _q90, _q30, _q50, _q60, _q61 };
													if (gimple_simplify_230 (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;
				    default:;
				    }
			          break;
			        }
			      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 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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case MINUS_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case MINUS_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case MINUS_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case MINUS_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case MINUS_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          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 (_q21))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q21))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case MINUS_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_p1 == _q71 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q71, 0) && types_match (_p1, _q71)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _q71, _q70, _q20, _q30, _q40, _q41 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GT_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 (_p1))
		    {
		    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 1337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_69 (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 1342 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_178 (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 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
								if (gimple_simplify_360 (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 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
								if (gimple_simplify_360 (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 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
									  if (gimple_simplify_360 (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 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
									  if (gimple_simplify_360 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			      if (gimple_simplify_371 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_371 (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 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
										if (gimple_simplify_374 (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 1440 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
								if (gimple_simplify_374 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q30 };
				    if (gimple_simplify_269 (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 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
								    if (gimple_simplify_360 (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 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
								    if (gimple_simplify_360 (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 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
									      if (gimple_simplify_360 (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 1398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
									      if (gimple_simplify_360 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				    if (gimple_simplify_269 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    if (gimple_simplify_269 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
		    if (gimple_simplify_269 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
				  if (gimple_simplify_371 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			    if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      if (CONSTANT_CLASS_P (_q31))
			{
			  if (CONSTANT_CLASS_P (_p1))
			    {
			      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_9 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_156 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_9 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			      if (gimple_simplify_371 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_371 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
				  if (gimple_simplify_371 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
			    if (gimple_simplify_371 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_316 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_316 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_9 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
					if (gimple_simplify_316 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q50, _q20 };
					if (gimple_simplify_316 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
					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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_9 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_156 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_273 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
					if (gimple_simplify_273 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_161 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_161 (res_op, seq, valueize, type, captures, MINUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
			{
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (!TYPE_SATURATING (type)
)
				    {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
					{
/* #line 2706 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2732 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1905;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2733, __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_fail1905;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1905:;
						    }
					      }
					    }
					}
				    }
				}
			        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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_322 (res_op, seq, valueize, type, captures, PLUS_EXPR))
				      return true;
				  }
			          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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_427 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if (integer_each_onep (_p1))
		    {
		      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_446 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_427 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					if (gimple_simplify_446 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_282 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_282 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_282 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_282 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_302 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
			if (gimple_simplify_302 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_331 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_331 (res_op, seq, valueize, type, captures, 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 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 3004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			      if (gimple_simplify_472 (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:
		      {
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    {
/* #line 3004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			      if (gimple_simplify_472 (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 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 3021 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
/* #line 3021 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 3029 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1906;
							    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3037, __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_fail1906;
								    }
								  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_fail1906;
								res_op->ops[0] = _r1;
							      }
							      res_op->resimplify (lseq, valueize);
							      return true;
							    }
next_after_fail1906:;
							}
						      }
						  }
					          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);
		  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)))
				    {
				      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 _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 NEGATE_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      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);
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GT_EXPR))
													  return true;
												      }
												      break;
												    }
												  default:;
												  }
											    }
											  break;
										        default:;
										        }
										      break;
										    }
										  default:;
										  }
									    }
									  break;
								        default:;
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  case NEGATE_EXPR:
						    {
						      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);
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q40, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      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 NEGATE_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_CONVERT:
							        {
								  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 LT_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case LE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case EQ_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  if (tree_swap_operands_p (_q70, _q71))
										    std::swap (_q70, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case NE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  if (tree_swap_operands_p (_q70, _q71))
										    std::swap (_q70, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GT_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if ((_q101 == _p0 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _p0, 0) && types_match (_q101, _p0)))
												    {
												      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q100, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_230 (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;
				    default:;
				    }
			          break;
			        }
			      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 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 (_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 MINUS_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_230 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if ((_q81 == _p0 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _p0, 0) && types_match (_q81, _p0)))
								    {
								      {
/* #line 3301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q80, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_230 (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;
    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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_272 (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 3842 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_272 (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 3868 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3868 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
	    {
	      {
/* #line 3869 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
/* #line 3870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (!TREE_OVERFLOW (tem) || !flag_trapping_math
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1907;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3871, __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_fail1907:;
		    }
	      }
	    }
	}
        break;
      }
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 3876 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 3876 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (SCALAR_FLOAT_TYPE_P (type)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1908;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3877, __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_fail1908:;
	  }
	else
	  {
/* #line 3878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    if (INTEGRAL_TYPE_P (type)
)
	      {
		gimple_seq *lseq = seq;
		if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1909;
		if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3879, __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_fail1909:;
	      }
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1910;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail1910;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail1910;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1910:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1911;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1911;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1911;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1911:;
		  }
		  if (integer_each_onep (_q21))
		    {
		      if (integer_zerop (_q22))
			{
			  {
/* #line 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21, _q22 };
			    if (gimple_simplify_342 (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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1912;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1912;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1912;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1912:;
		  }
	          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 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
						if (gimple_simplify_342 (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 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q30, _q31, _q32 };
						if (gimple_simplify_342 (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 4593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
			    if (gimple_simplify_342 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_135 (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 7729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
					    if (gimple_simplify_276 (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 7729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
					    if (gimple_simplify_276 (res_op, seq, valueize, type, captures))
					      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_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 7170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_228 (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 7170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_228 (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 7170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_228 (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 7170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_228 (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 7170 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_228 (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 7729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q41, _q32, _p0 };
					    if (gimple_simplify_276 (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 7729 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q40, _q32, _p0 };
					    if (gimple_simplify_276 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1913;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1913:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 2186 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1914;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2186, __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_fail1914;
			res_op->ops[1] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1914:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 187 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1915;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1915:;
    }
  }
  switch (TREE_CODE (_p1))
    {
    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 2204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q50 };
/* #line 2204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1916;
									    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2207, __FILE__, __LINE__);
									    {
									      tree tem;
									      tem = captures[3];
									      res_op->set_value (tem);
									      return true;
									    }
next_after_fail1916:;
									  }
								      }
								    }
							          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 2210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
/* #line 2210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
)
					  {
					    gimple_seq *lseq = seq;
					    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1917;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2211, __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_fail1917:;
					  }
				      }
				    }
			          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 2204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p1, _q40 };
/* #line 2204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1918;
							    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2207, __FILE__, __LINE__);
							    {
							      tree tem;
							      tem = captures[3];
							      res_op->set_value (tem);
							      return true;
							    }
next_after_fail1918:;
							  }
						      }
						    }
					          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 2210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
/* #line 2210 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
)
			  {
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1919;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2211, __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_fail1919:;
			  }
		      }
		    }
	          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 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
							      {
/* #line 2222 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[1]));
								  gimple_seq *lseq = seq;
								  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1920;
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2223, __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_fail1920:;
							      }
							    }
							    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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1921;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1921:;
      }
    }
  if (real_zerop (_p1))
    {
      {
/* #line 204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 204 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (fold_real_zero_addition_p (type, captures[0], captures[1], 1)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1922;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1922:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_12 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_12 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 237 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1923;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1923:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q61 };
									    if (gimple_simplify_243 (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 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q50 };
									    if (gimple_simplify_243 (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 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q20, _q51 };
							    if (gimple_simplify_243 (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 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q40 };
							    if (gimple_simplify_243 (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 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q51 };
							    if (gimple_simplify_243 (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 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _p0, _q40 };
							    if (gimple_simplify_243 (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 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _p0, _q41 };
					    if (gimple_simplify_243 (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 687 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q30 };
					    if (gimple_simplify_243 (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 693 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q50 };
								if (gimple_simplify_429 (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 693 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q20, _q30, _q40 };
								if (gimple_simplify_429 (res_op, seq, valueize, type, captures))
								  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 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 1008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
							    if (gimple_simplify_410 (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 1008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
							    if (gimple_simplify_410 (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 1008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
							    if (gimple_simplify_410 (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 1008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
							    if (gimple_simplify_410 (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 1011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
/* #line 1011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1924;
							if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1012, __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_fail1924;
							    res_op->ops[0] = _r1;
							  }
							  res_op->ops[1] = captures[4];
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail1924:;
						      }
						  }
					          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 1017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
							    if (gimple_simplify_416 (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 1017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
							    if (gimple_simplify_416 (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 1017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
							    if (gimple_simplify_416 (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 1017 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
							    if (gimple_simplify_416 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
								if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
								if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
								    if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
								    if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
								    if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
								    if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
									if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
									if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
									  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 (_p1))
		    {
		    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 1347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type)
)
					      {
						gimple_seq *lseq = seq;
						if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1925;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1349, __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_fail1925:;
					      }
					  }
				        }
				    }
			          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 1354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type)
)
					      {
						gimple_seq *lseq = seq;
						if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1926;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1356, __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_fail1926:;
					      }
					  }
				        }
				    }
			          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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
								if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
								if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
								    if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
								    if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
								    if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
								    if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
									if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
									if (gimple_simplify_339 (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 1361 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_75 (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 1361 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_75 (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 1366 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    gimple_seq *lseq = seq;
					    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1927;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1366, __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_fail1927:;
					  }
				        }
				    }
			          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 1371 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    gimple_seq *lseq = seq;
					    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1928;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1371, __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_fail1928:;
					  }
				        }
				    }
			          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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
								    if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
								    if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
									if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
									if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
									if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
									if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
									    if (gimple_simplify_339 (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 1407 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
									    if (gimple_simplify_339 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
								    if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
								    if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
									if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
									if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
									if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
									if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
									    if (gimple_simplify_128 (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 1416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
									    if (gimple_simplify_128 (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 1616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (!FIXED_POINT_TYPE_P (type)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1929;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1617, __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_fail1929;
		res_op->ops[1] = _r1;
	      }
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1929:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p1, _q40, _q51, _q20 };
							if (gimple_simplify_479 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _q51, _p1, _q40, _q50, _q20 };
							if (gimple_simplify_479 (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 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _p1, _q41, _q20 };
					if (gimple_simplify_187 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
				    {
				      {
/* #line 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _p1, _q40, _q20 };
					if (gimple_simplify_187 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    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 2228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
					    {
					      {
/* #line 2229 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2230 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  if (ptr_difference_const (captures[0], captures[1], &diff)
)
						    {
						      gimple_seq *lseq = seq;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1930;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2231, __FILE__, __LINE__);
						      {
							tree tem;
							tem =  build_int_cst_type (type, diff);
							res_op->set_value (tem);
							return true;
						      }
next_after_fail1930:;
						    }
					      }
					    }
					}
				        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 ADDR_EXPR:
				      {
					{
/* #line 2234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
					    {
					      {
/* #line 2235 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2236 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  if (ptr_difference_const (captures[0], captures[1], &diff)
)
						    {
						      gimple_seq *lseq = seq;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1931;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2237, __FILE__, __LINE__);
						      {
							tree tem;
							tem =  build_int_cst_type (type, diff);
							res_op->set_value (tem);
							return true;
						      }
next_after_fail1931:;
						    }
					      }
					    }
					}
				        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_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 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _q30, _q41, _p0 };
					if (gimple_simplify_479 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
					if (gimple_simplify_479 (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 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _q30, _p1, _p1, _q31, _p0 };
			if (gimple_simplify_187 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
		    {
		      {
/* #line 1848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
			if (gimple_simplify_187 (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 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1932;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail1932:;
					  }
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1933;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail1933:;
					  }
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1934;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail1934:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1935;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail1935:;
					  }
				      }
				    }
			          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 2011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1936;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2014, __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_fail1936:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2038 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2038 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1937;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2041, __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_fail1937:;
					  }
				      }
				    }
			          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 2023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
/* #line 2023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
)
					  {
					    gimple_seq *lseq = seq;
					    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1938;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2025, __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_fail1938:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2050 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
/* #line 2050 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
)
					  {
					    gimple_seq *lseq = seq;
					    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1939;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2052, __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_fail1939:;
					  }
				      }
				    }
			          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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				    if (gimple_simplify_433 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    if (gimple_simplify_433 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
			      if (gimple_simplify_261 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			      if (gimple_simplify_261 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_261 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_261 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
			      if (gimple_simplify_215 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_215 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
				  if (gimple_simplify_261 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				  if (gimple_simplify_261 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			    if (gimple_simplify_261 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
			    if (gimple_simplify_261 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
				  if (gimple_simplify_215 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			    if (gimple_simplify_215 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			      if (gimple_simplify_440 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			      if (gimple_simplify_440 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_440 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_440 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			      if (gimple_simplify_319 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_319 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
				  if (gimple_simplify_440 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				  if (gimple_simplify_440 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			    if (gimple_simplify_440 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
			    if (gimple_simplify_440 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
				  if (gimple_simplify_319 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			    if (gimple_simplify_319 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_14 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_14 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_9 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_9 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_156 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_322 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					if (gimple_simplify_108 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
							if (gimple_simplify_314 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
						    {
						      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
							if (gimple_simplify_314 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
					if (gimple_simplify_314 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
				    {
				      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
					if (gimple_simplify_314 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							if (!TYPE_SATURATING (type)
)
							  {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
							      {
/* #line 2810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1940;
								    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2818, __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_fail1940:;
								  }
							      }
							  }
						      }
						    }
					          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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
							if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
							if (gimple_simplify_380 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_108 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_9 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_9 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_156 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
			  if (gimple_simplify_385 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
			      if (gimple_simplify_385 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
}
  }
  }
if (integer_all_onesp (_p0))
  {
    {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!TYPE_SATURATING (type)
)
	{
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	    {
/* #line 2789 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (TREE_CODE (type) != COMPLEX_TYPE
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1941;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2790, __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_fail1941:;
		}
	    }
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
					if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
					if (gimple_simplify_380 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							if (!TYPE_SATURATING (type)
)
							  {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
							      {
/* #line 2852 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
								  {
								    {
/* #line 2855 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
									gimple_seq *lseq = seq;
									if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1942;
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2856, __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_fail1942;
									        }
									      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_fail1942;
									    res_op->ops[0] = _r1;
									  }
									  res_op->resimplify (lseq, valueize);
									  return true;
									}
next_after_fail1942:;
								    }
								  }
								else
								  {
/* #line 2857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1943;
									if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2865, __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_fail1943;
									      }
									    else
									      _r1 = _o1[0];
									    res_op->ops[0] = _r1;
									  }
									  res_op->resimplify (lseq, valueize);
									  return true;
									}
next_after_fail1943:;
								      }
								  }
							      }
							  }
						      }
						    }
					          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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
									if (gimple_simplify_211 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
								    {
								      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
									if (gimple_simplify_211 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
								    {
								      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
									if (gimple_simplify_211 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
								    {
								      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
									if (gimple_simplify_211 (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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									if (!TYPE_SATURATING (type)
)
									  {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
									      {
/* #line 2904 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
										  {
										    {
/* #line 2907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
											gimple_seq *lseq = seq;
											if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1944;
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2908, __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_fail1944;
											        }
											      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_fail1944;
											        }
											      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_fail1944;
											    res_op->ops[0] = _r1;
											  }
											  res_op->resimplify (lseq, valueize);
											  return true;
											}
next_after_fail1944:;
										    }
										  }
										else
										  {
/* #line 2909 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1945;
											if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2919, __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_fail1945;
											      }
											    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_fail1945;
											      }
											    else
											      _r1 = _o1[0];
											    res_op->ops[1] = _r1;
											  }
											  res_op->resimplify (lseq, valueize);
											  return true;
											}
next_after_fail1945:;
										      }
										  }
									      }
									  }
								      }
								    }
							          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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_282 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_282 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_282 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_282 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_302 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
			if (gimple_simplify_302 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_331 (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 2936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_331 (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 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 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)))
				    {
				      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 _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 NEGATE_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      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);
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												      break;
												    }
												  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);
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q70, _q90, _q100, _q101 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, GT_EXPR))
													  return true;
												      }
												      break;
												    }
												  default:;
												  }
											    }
											  break;
										        default:;
										        }
										      break;
										    }
										  default:;
										  }
									    }
									  break;
								        default:;
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  case NEGATE_EXPR:
						    {
						      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);
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								      break;
								    }
								  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);
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q31, _q70, _q80, _q81 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      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 NEGATE_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_CONVERT:
							        {
								  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 LT_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, LT_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case LE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, LE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case EQ_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  if (tree_swap_operands_p (_q70, _q71))
										    std::swap (_q70, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, EQ_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case NE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  if (tree_swap_operands_p (_q70, _q71))
										    std::swap (_q70, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, NE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GE_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_451 (res_op, seq, valueize, type, captures, GE_EXPR))
													  return true;
												      }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      case GT_EXPR:
									        {
										  tree _q70 = gimple_assign_rhs1 (_a5);
										  _q70 = do_valueize (valueize, _q70);
										  tree _q71 = gimple_assign_rhs2 (_a5);
										  _q71 = do_valueize (valueize, _q71);
										  switch (TREE_CODE (_q31))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q31))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case MINUS_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 == _p0 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _p0, 0) && types_match (_q100, _p0)))
												    {
												      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q101, _q40, _q60, _q70, _q71 };
													if (gimple_simplify_451 (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;
				    default:;
				    }
			          break;
			        }
			      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 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 (_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 MINUS_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)))
								    {
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_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)))
								    {
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_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)))
								    {
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_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)))
								    {
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_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)))
								    {
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_451 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          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 (_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 MINUS_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)))
								    {
								      {
/* #line 3290 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q81, _q30, _q40, _q50, _q51 };
									if (gimple_simplify_451 (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;
    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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1946;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail1946;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail1946;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1946:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1947;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1947;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1947;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1947:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 3884 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1948;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3884, __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_fail1948:;
    }
  }
if (real_zerop (_p0))
  {
    {
/* #line 3894 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3894 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (fold_real_zero_addition_p (type, captures[1], captures[0], 0)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1949;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3895, __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_fail1949:;
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1950;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1950;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1950;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1950:;
		  }
		  if (integer_each_onep (_q31))
		    {
		      if (integer_zerop (_q32))
			{
			  {
/* #line 4603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
			    if (gimple_simplify_162 (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 4603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
						if (gimple_simplify_162 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_135 (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 7733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
					    if (gimple_simplify_403 (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 7733 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
					    if (gimple_simplify_403 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1951;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1951:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      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 991 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_287 (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 1000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_160 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_419 (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 1023 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_419 (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 1026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
								    if (gimple_simplify_383 (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 1026 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
								    if (gimple_simplify_383 (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 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_425 (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 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_425 (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 1037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
							    if (gimple_simplify_345 (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 1037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
							    if (gimple_simplify_345 (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 1037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
							    if (gimple_simplify_345 (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 1037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
							    if (gimple_simplify_345 (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 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_425 (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 1032 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_425 (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 1037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
							    if (gimple_simplify_225 (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 1037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
							    if (gimple_simplify_225 (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 1037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
							    if (gimple_simplify_225 (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 1037 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _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:;
    }
  switch (TREE_CODE (_p1))
    {
    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 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q41 };
					if (gimple_simplify_441 (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 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
					if (gimple_simplify_441 (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 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q31 };
					if (gimple_simplify_441 (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 1057 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
					if (gimple_simplify_441 (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 1068 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
							    if (gimple_simplify_2 (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 1068 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
							    if (gimple_simplify_2 (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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_72 (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 1063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_54 (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 1063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_54 (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 1063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_54 (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 1063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_54 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
					if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
					if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
			if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
			if (gimple_simplify_485 (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 1063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
					    if (gimple_simplify_180 (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 1063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
					    if (gimple_simplify_180 (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 1068 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
							    if (gimple_simplify_205 (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 1068 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
							    if (gimple_simplify_205 (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 1063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
					    if (gimple_simplify_180 (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 1063 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
					    if (gimple_simplify_180 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q61 };
							    if (gimple_simplify_457 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q60 };
							    if (gimple_simplify_457 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q61 };
							    if (gimple_simplify_457 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q60 };
							    if (gimple_simplify_457 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q71 };
							    if (gimple_simplify_457 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q70 };
							    if (gimple_simplify_457 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q71 };
							    if (gimple_simplify_457 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q70 };
							    if (gimple_simplify_457 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
							    if (gimple_simplify_452 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
							    if (gimple_simplify_452 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
							    if (gimple_simplify_452 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
							    if (gimple_simplify_452 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
							    if (gimple_simplify_452 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
							    if (gimple_simplify_452 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
							    if (gimple_simplify_452 (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 1088 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
							    if (gimple_simplify_452 (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 1178 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1952;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1178, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1952:;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 1183 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1953;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1183, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1953:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_72 (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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_72 (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 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
								    if (gimple_simplify_194 (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 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
						    if (gimple_simplify_194 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
									if (gimple_simplify_169 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
							if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
							if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
					if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
					if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
							if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
							if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
					if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
					if (gimple_simplify_65 (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 1196 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_72 (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 1286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
					if (gimple_simplify_50 (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 1286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
					if (gimple_simplify_50 (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 1217 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_25 (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 1286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
					if (gimple_simplify_50 (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 1286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
					if (gimple_simplify_50 (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 1291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _q31 };
									    if (gimple_simplify_279 (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 1291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q31, _q30 };
									    if (gimple_simplify_279 (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 1291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q30, _q31 };
									    if (gimple_simplify_279 (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 1291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q31, _q30 };
									    if (gimple_simplify_279 (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 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
							    if (gimple_simplify_151 (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 1311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
							    if (gimple_simplify_158 (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 1319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _p0 };
					if (gimple_simplify_165 (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 1319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p0 };
					if (gimple_simplify_165 (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 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
						    if (gimple_simplify_194 (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 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_194 (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 1291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
									    if (gimple_simplify_79 (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 1291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
									    if (gimple_simplify_79 (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 1291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
									    if (gimple_simplify_79 (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 1291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
									    if (gimple_simplify_79 (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 1301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
							    if (gimple_simplify_151 (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 1319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					if (gimple_simplify_64 (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 1319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					if (gimple_simplify_64 (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 1337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_69 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
					if (gimple_simplify_169 (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 1311 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
							    if (gimple_simplify_158 (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 1337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_69 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
					if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
					if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
			if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
			if (gimple_simplify_65 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
									if (gimple_simplify_391 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
									if (gimple_simplify_391 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
									if (gimple_simplify_391 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
									if (gimple_simplify_391 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
							if (gimple_simplify_227 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
							if (gimple_simplify_227 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
							if (gimple_simplify_227 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
							if (gimple_simplify_227 (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 1660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_170 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 1660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_283 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
							if (gimple_simplify_77 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
							if (gimple_simplify_77 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
							if (gimple_simplify_77 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
							if (gimple_simplify_77 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
					if (gimple_simplify_461 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
					if (gimple_simplify_461 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
					if (gimple_simplify_461 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
					if (gimple_simplify_461 (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 1710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_351 (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 1710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_351 (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 1715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
					if (gimple_simplify_233 (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 1715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
					if (gimple_simplify_233 (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 1720 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21 };
					if (gimple_simplify_236 (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 1720 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q21 };
					if (gimple_simplify_236 (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 1720 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20 };
					if (gimple_simplify_236 (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 1720 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q41, _q40, _q20 };
					if (gimple_simplify_236 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          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 1843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q60 };
							if (gimple_simplify_294 (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 1843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q61 };
							if (gimple_simplify_294 (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 1843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q60 };
							if (gimple_simplify_294 (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 1843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q61 };
							if (gimple_simplify_294 (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 1843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
							if (gimple_simplify_294 (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 1843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _p0, _q21 };
							if (gimple_simplify_294 (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 1843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
							if (gimple_simplify_294 (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 1843 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q20, _p0, _q21 };
							if (gimple_simplify_294 (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 1710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_351 (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 1710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_351 (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 1715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
					if (gimple_simplify_233 (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 1715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
					if (gimple_simplify_233 (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 1720 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41, _q31 };
					if (gimple_simplify_236 (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 1720 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q40, _q31 };
					if (gimple_simplify_236 (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 1720 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q51, _q30 };
					if (gimple_simplify_236 (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 1720 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q50, _q30 };
					if (gimple_simplify_236 (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 1731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_28 (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);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2155 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_254 (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 2341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					    if (gimple_simplify_163 (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 2356 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					    if (gimple_simplify_377 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					    if (gimple_simplify_163 (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 2356 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					    if (gimple_simplify_377 (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 2372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
/* #line 2372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1954;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2374, __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_fail1954;
						    res_op->ops[1] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1954:;
					      }
					  }
				        }
				    }
			          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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						      return true;
						  }
						  {
/* #line 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
						      return true;
						  }
						  {
/* #line 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (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 2341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
					  if (gimple_simplify_444 (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 2341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
					  if (gimple_simplify_444 (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 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q51 };
					  if (gimple_simplify_252 (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 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					  if (gimple_simplify_252 (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 2356 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
					  if (gimple_simplify_132 (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 2356 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
					  if (gimple_simplify_132 (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 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_386 (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 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_386 (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 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    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 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_384 (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 2351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_476 (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 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_384 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2346 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
					    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 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_384 (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 2351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_476 (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 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_384 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_97 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
						      return true;
						  }
						  {
/* #line 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						      return true;
						  }
						  {
/* #line 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_166 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (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 2456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_268 (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 2351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_476 (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 2351 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_476 (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 2372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
/* #line 2372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1955;
					      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2374, __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_fail1955;
						  res_op->ops[1] = _r1;
						}
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail1955:;
					    }
					}
				      }
				    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 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_386 (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 2364 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_386 (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 3047 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_311 (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 3054 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_47 (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 3064 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			      if (gimple_simplify_338 (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 3054 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_47 (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 1780 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		if (gimple_simplify_60 (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 1780 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		if (gimple_simplify_60 (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 3064 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			      if (gimple_simplify_338 (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 3072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_112 (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 3086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			      if (gimple_simplify_52 (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 3086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			      if (gimple_simplify_52 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1956;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail1956;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail1956;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1956:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1957;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1957;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1957;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1957:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1958;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1958;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1958;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1958:;
		  }
	          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 5238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
/* #line 5238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    if (types_match (captures[0], captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1959;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5239, __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_fail1959:;
					      }
					  }
				        }
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 5246 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
					    if (gimple_simplify_389 (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 5246 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
					    if (gimple_simplify_389 (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 5246 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
					    if (gimple_simplify_336 (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 5246 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
					    if (gimple_simplify_336 (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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_241 (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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1960;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail1960;
														_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_fail1960;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1960:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1961;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail1961;
														  _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_fail1961;
														_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_fail1961;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1961:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1962;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail1962;
														_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_fail1962;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1962:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1963;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail1963;
														  _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_fail1963;
														_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_fail1963;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1963:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_241 (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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_241 (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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1964;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail1964;
														_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_fail1964;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1964:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1965;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail1965;
														  _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_fail1965;
														_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_fail1965;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1965:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1966;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail1966;
														_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_fail1966;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1966:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1967;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail1967;
														  _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_fail1967;
														_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_fail1967;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1967:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_241 (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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1968;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail1968;
														_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_fail1968;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1968:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1969;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail1969;
														  _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_fail1969;
														_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_fail1969;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1969:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1970;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail1970;
														_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_fail1970;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1970:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1971;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail1971;
														  _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_fail1971;
														_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_fail1971;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1971:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_241 (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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1972;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail1972;
														_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_fail1972;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1972:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1973;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail1973;
														  _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_fail1973;
														_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_fail1973;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1973:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1974;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail1974;
														_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_fail1974;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1974:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1975;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail1975;
														  _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_fail1975;
														_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_fail1975;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1975:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 5257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1976;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1976:;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _p0, 0))
    {
      {
/* #line 245 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1977;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1977:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 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 2240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  if (ptr_difference_const (captures[1], captures[3], &diff)
)
						    {
						      gimple_seq *lseq = seq;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1978;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2244, __FILE__, __LINE__);
						      {
							tree tem;
							tem =  build_int_cst_type (type, diff);
							res_op->set_value (tem);
							return true;
						      }
next_after_fail1978:;
						    }
					      }
					    }
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			{
/* #line 2240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (ptr_difference_const (captures[1], captures[3], &diff)
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1979;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2244, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_int_cst_type (type, diff);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1979:;
				    }
			      }
			    }
			}
		        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 ADDR_EXPR:
				      {
					{
/* #line 2247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  if (ptr_difference_const (captures[1], captures[3], &diff)
)
						    {
						      gimple_seq *lseq = seq;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1980;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2251, __FILE__, __LINE__);
						      {
							tree tem;
							tem =  build_int_cst_type (type, diff);
							res_op->set_value (tem);
							return true;
						      }
next_after_fail1980:;
						    }
					      }
					    }
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 2247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (ptr_difference_const (captures[1], captures[3], &diff)
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1981;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2251, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_int_cst_type (type, diff);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1981:;
				    }
			      }
			    }
			}
		        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);
			{
/* #line 2240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (ptr_difference_const (captures[1], captures[3], &diff)
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1982;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2244, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_int_cst_type (type, diff);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1982:;
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
	{
/* #line 2240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2240 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (ptr_difference_const (captures[1], captures[3], &diff)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1983;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2244, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_int_cst_type (type, diff);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1983:;
		    }
	      }
	    }
	}
        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 ADDR_EXPR:
		      {
			{
/* #line 2247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (ptr_difference_const (captures[1], captures[3], &diff)
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1984;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2251, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_int_cst_type (type, diff);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1984:;
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	{
/* #line 2247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 2249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (ptr_difference_const (captures[1], captures[3], &diff)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1985;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2251, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_int_cst_type (type, diff);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1985:;
		    }
	      }
	    }
	}
        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 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 ADDR_EXPR:
					    {
					      {
/* #line 2256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
						{
/* #line 2256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    if (ptr_difference_const (captures[0], captures[2], &diff)
)
						      {
							gimple_seq *lseq = seq;
							if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1986;
							if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2258, __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_fail1986;
							      _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_fail1986;
							      }
							    else
							      _r1 = _o1[0];
							    res_op->ops[1] = _r1;
							  }
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail1986:;
						      }
						}
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
		    {
		      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (!TYPE_SATURATING (type)
)
			  {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
			      {
				{
/* #line 2823 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
				    gimple_seq *lseq = seq;
				    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1987;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2827, __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_fail1987;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1987:;
				}
			      }
			  }
		      }
		    }
	          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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (!TYPE_SATURATING (type)
)
			  {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
			      {
				{
/* #line 2870 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
				    gimple_seq *lseq = seq;
				    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1988;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2874, __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_fail1988;
					  _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_fail1988;
					  }
					else
					  _r1 = _o1[0];
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1988:;
				}
			      }
			  }
		      }
		    }
	          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 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					if (!TYPE_SATURATING (type)
)
					  {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
					      {
						gimple_seq *lseq = seq;
						if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1989;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2922, __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_fail1989:;
					      }
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
/* #line 2516 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					if (!TYPE_SATURATING (type)
)
					  {
/* #line 2574 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
					      {
						{
/* #line 2927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1990;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2931, __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_fail1990;
							  _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_fail1990;
							  }
							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_fail1990;
							  _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_fail1990;
							  }
							else
							  _r1 = _o1[0];
							res_op->ops[1] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1990:;
						}
					      }
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 3887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      gimple_seq *lseq = seq;
      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1991;
      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3887, __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_fail1991;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1991:;
    }
  }
  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)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1992;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1992:;
      }
    }
  if (real_zerop (_p1))
    {
      {
/* #line 266 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 266 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1993;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1993:;
	  }
      }
    }
  if (real_onep (_p1))
    {
      {
/* #line 275 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 275 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1994;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1994:;
	  }
      }
    }
  if (real_minus_onep (_p1))
    {
      {
/* #line 283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1995;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) 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_fail1995:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    {
	      {
/* #line 291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 291 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		if (INTEGRAL_TYPE_P (type)
 && get_nonzero_bits (captures[0]) == 1
 && get_nonzero_bits (captures[1]) == 1
)
		  {
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1996;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 294, __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_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 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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						    if (gimple_simplify_27 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						    if (gimple_simplify_379 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						    if (gimple_simplify_388 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						    if (gimple_simplify_136 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						  if (gimple_simplify_27 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						  if (gimple_simplify_379 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						  if (gimple_simplify_388 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						  if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 300 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (initializer_each_zero_or_onep (captures[1])
 && !HONOR_SNANS (type)
 && !HONOR_SIGNED_ZEROS (type)
)
	    {
	      {
/* #line 303 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree itype = FLOAT_TYPE_P (type) ? unsigned_type_for (type) : type;
/* #line 304 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1997;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 309, __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_fail1997;
			    _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_fail1997;
			    _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_fail1997;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1997:;
		    }
	      }
	    }
	}
        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 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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						    if (gimple_simplify_315 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						    if (gimple_simplify_326 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						    if (gimple_simplify_201 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						    if (gimple_simplify_204 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						    if (gimple_simplify_78 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						    if (gimple_simplify_137 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						    if (gimple_simplify_88 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						    if (gimple_simplify_23 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						  if (gimple_simplify_315 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						  if (gimple_simplify_326 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						  if (gimple_simplify_201 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						  if (gimple_simplify_204 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						  if (gimple_simplify_78 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						  if (gimple_simplify_137 (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 321 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						  if (gimple_simplify_88 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						  if (gimple_simplify_23 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						    if (gimple_simplify_467 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						    if (gimple_simplify_263 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						    if (gimple_simplify_83 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						    if (gimple_simplify_397 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						  if (gimple_simplify_467 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						  if (gimple_simplify_263 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						  if (gimple_simplify_83 (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 329 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						  if (gimple_simplify_397 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_199 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 335 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_454 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_381 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (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 341 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_318 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_onep (_p1))
  {
    {
/* #line 354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_216 (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 490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				{
/* #line 490 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 497 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    if (!overflow || TYPE_OVERFLOW_WRAPS (type)
)
				      {
					gimple_seq *lseq = seq;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1998;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 498, __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_fail1998:;
				      }
				}
			      }
			      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 746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 746 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
			      {
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail1999;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 747, __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_fail1999;
				    res_op->ops[1] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1999:;
			      }
			  }
		        }
		    }
	          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 826 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2000;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 826, __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_fail2000:;
		      }
		    }
	          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 831 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2001;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 831, __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_fail2001;
			      }
			    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_fail2001:;
		      }
		    }
	          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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 885 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_344 (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 903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
					if (gimple_simplify_34 (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 903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _q31 };
					if (gimple_simplify_34 (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 903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
			if (gimple_simplify_34 (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 903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
			if (gimple_simplify_34 (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 966 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
/* #line 966 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				if (flag_associative_math
 && single_use (captures[0])
)
				  {
				    {
/* #line 968 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
/* #line 970 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					if (tem
)
					  {
					    gimple_seq *lseq = seq;
					    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2002;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 971, __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_fail2002:;
					  }
				    }
				  }
			      }
			      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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
											  if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
										    if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
									  if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
								    if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
											      if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
											if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
									      if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
									if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
										    if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
								    if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
											if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
									if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
											if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
									if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
											    if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
									    if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
										      if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
											  if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
										      if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
										if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
								      if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
								if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
											  if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
										    if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
									  if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
								    if (gimple_simplify_299 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
										if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
								if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
										    if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
								    if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
								    if (gimple_simplify_200 (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 1549 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
									if (gimple_simplify_200 (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 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
							if (gimple_simplify_359 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				if (gimple_negate_expr_p (_p1, valueize))
				  {
				    {
/* #line 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
				      if (gimple_simplify_359 (res_op, seq, valueize, type, captures))
				        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 1853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, GT_EXPR))
				      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 1853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, LT_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 1853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, GE_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 1853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          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 (_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 3835 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
							if (gimple_simplify_4 (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 3835 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
					if (gimple_simplify_4 (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 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _q51 };
										    if (gimple_simplify_466 (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 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q41 };
								    if (gimple_simplify_466 (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 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _q51 };
										    if (gimple_simplify_466 (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 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q41 };
								    if (gimple_simplify_466 (res_op, seq, valueize, type, captures, MINUS_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          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 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
						      if (gimple_simplify_359 (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 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_359 (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 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_359 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_negate_expr_p (_p1, valueize))
		  {
		    {
/* #line 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_359 (res_op, seq, valueize, type, captures))
		        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 (_p1))
		    {
		    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 3835 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
					if (gimple_simplify_4 (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 3835 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
			if (gimple_simplify_4 (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 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _q41 };
								    if (gimple_simplify_466 (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 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q31 };
						    if (gimple_simplify_466 (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 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _q41 };
								    if (gimple_simplify_466 (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 3848 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q31 };
						    if (gimple_simplify_466 (res_op, seq, valueize, type, captures, MINUS_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          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 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
				      if (gimple_simplify_359 (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 1589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
		      if (gimple_simplify_359 (res_op, seq, valueize, type, captures))
		        return true;
		    }
		    break;
		  }
		default:;
		}
          }
        break;
      default:;
      }
  }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 3900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2003;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3900, __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_fail2003:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 3906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			  if (gimple_simplify_280 (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 3906 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
			  if (gimple_simplify_280 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2004;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2004;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2004;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2004:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2005;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2005;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2005;
			res_op->ops[2] = _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 (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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2006;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2006;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2006;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2006:;
		  }
	          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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2007;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5961, __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_fail2007;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2007:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2008;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5961, __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_fail2008;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2008:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2009;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5961, __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_fail2009;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2009:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_422 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2010;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5961, __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_fail2010;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2010:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2011;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5961, __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_fail2011;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2011:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2012;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5961, __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_fail2012;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2012:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2013;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5961, __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_fail2013;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2013:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2014;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2014;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2014:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2015;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2015;
							      _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_fail2015;
							    _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_fail2015;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2015:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2016;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2016;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2016:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2017;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2017;
							      _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_fail2017;
							    _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_fail2017;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2017:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2018;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2018;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2018:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2019;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2019;
							      _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_fail2019;
							    _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_fail2019;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2019:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2020;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2020;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2020:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2021;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2021;
							      _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_fail2021;
							    _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_fail2021;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2021:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2022;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2022;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2022:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2023;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2023;
							      _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_fail2023;
							    _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_fail2023;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2023:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2024;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2024;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2024:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2025;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2025;
							      _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_fail2025;
							    _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_fail2025;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2025:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2026;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2026;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2026:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2027;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2027;
							      _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_fail2027;
							    _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_fail2027;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2027:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2028;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2028;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2028:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2029;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2029;
							      _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_fail2029;
							    _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_fail2029;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2029:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2030;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2030;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2030:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2031;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2031;
							      _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_fail2031;
							    _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_fail2031;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2031:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2032;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2032;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2032:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2033;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2033;
							      _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_fail2033;
							    _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_fail2033;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2033:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2034;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2034;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2034:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2035;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2035;
							      _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_fail2035;
							    _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_fail2035;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2035:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2036;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2036;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2036:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2037;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2037;
							      _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_fail2037;
							    _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_fail2037;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2037:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2038;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2038;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2038:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2039;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2039;
							      _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_fail2039;
							    _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_fail2039;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2039:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2040;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2040;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2040:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2041;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2041;
							      _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_fail2041;
							    _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_fail2041;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2041:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2042;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5967, __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_fail2042;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail2042:;
					  }
				      }
				    }
				  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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2043;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2043;
							      _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_fail2043;
							    _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_fail2043;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2043:;
						    }
						}
					    }
					    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2044;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2044;
							      _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_fail2044;
							    _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_fail2044;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2044:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2045;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2045;
							      _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_fail2045;
							    _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_fail2045;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2045:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2046;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2046;
							      _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_fail2046;
							    _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_fail2046;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2046:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2047;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2047;
							      _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_fail2047;
							    _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_fail2047;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2047:;
						    }
						}
					    }
				          }
				        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
				if (gimple_simplify_323 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2048;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2048;
							      _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_fail2048;
							    _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_fail2048;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2048:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2049;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2049;
							      _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_fail2049;
							    _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_fail2049;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2049:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2050;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2050;
							      _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_fail2050;
							    _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_fail2050;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2050:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2051;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2051;
							      _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_fail2051;
							    _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_fail2051;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2051:;
						    }
						}
					    }
				          }
				        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
				if (gimple_simplify_323 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2052;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2052;
							      _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_fail2052;
							    _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_fail2052;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2052:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2053;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2053;
							      _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_fail2053;
							    _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_fail2053;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2053:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2054;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2054;
							      _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_fail2054;
							    _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_fail2054;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2054:;
						    }
						}
					    }
				          }
				        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2055;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2055;
							      _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_fail2055;
							    _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_fail2055;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2055:;
						    }
						}
					    }
				          }
				        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
				if (gimple_simplify_323 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2056;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2056;
							      _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_fail2056;
							    _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_fail2056;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2056:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_EXP2:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2057;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2057;
							      _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_fail2057;
							    _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_fail2057;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2057:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_EXP10:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6103 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2058;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6105, __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_fail2058;
							      _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_fail2058;
							    _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_fail2058;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail2058:;
						    }
						}
					    }
				          }
				        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
				if (gimple_simplify_323 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_49 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_49 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_49 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_49 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
					    if (gimple_simplify_49 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
					    if (gimple_simplify_49 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
					    if (gimple_simplify_49 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
					    if (gimple_simplify_49 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
				if (gimple_simplify_323 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
				if (gimple_simplify_323 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
				if (gimple_simplify_323 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
				if (gimple_simplify_323 (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 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					    if (gimple_simplify_212 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					    if (gimple_simplify_203 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					    if (gimple_simplify_212 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					    if (gimple_simplify_203 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					    if (gimple_simplify_212 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					    if (gimple_simplify_203 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					    if (gimple_simplify_212 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					    if (gimple_simplify_203 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2059;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __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_fail2059;
						    res_op->ops[0] = _r1;
						  }
						  res_op->ops[1] = captures[2];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2059:;
					      }
					  }
				        }
				    }
				  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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2060;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __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_fail2060;
						    res_op->ops[0] = _r1;
						  }
						  res_op->ops[1] = captures[2];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2060:;
					      }
					  }
				        }
				    }
				  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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2061;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6312, __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_fail2061;
						    res_op->ops[0] = _r1;
						  }
						  res_op->ops[1] = captures[2];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2061:;
					      }
					  }
				        }
				    }
				  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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_168 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_168 (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 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_209 (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 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_209 (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 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_209 (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 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_209 (res_op, seq, valueize, type, captures, EQ_EXPR, TRUNC_MOD_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 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 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2062;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail2062;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail2062:;
						  }
						  {
/* #line 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2063;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail2063;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail2063:;
						  }
					        }
					    }
					  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 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2064;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail2064;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail2064:;
						  }
						  {
/* #line 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2065;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail2065;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail2065:;
						  }
					        }
					    }
				          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 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2066;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail2066;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail2066:;
						  }
						  {
/* #line 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2067;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail2067;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail2067:;
						  }
					        }
					    }
				        }
				    }
				  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 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2068;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail2068;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail2068:;
						  }
						  {
/* #line 1810 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2069;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1810, __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_fail2069;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail2069:;
						  }
					        }
					    }
				        }
				    }
			          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 ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_191 (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 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_191 (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 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_191 (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 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_191 (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 1874 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					      if (gimple_simplify_18 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_198 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
							if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
							if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
							    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
							    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
					    if (gimple_simplify_226 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_198 (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 1936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_19 (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 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2070;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail2070:;
					  }
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2071;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail2071:;
					  }
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2072;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail2072:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2073;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail2073:;
					  }
				      }
				    }
			          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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
							if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
							if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
			if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
			if (gimple_simplify_70 (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 2011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2074;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2014, __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_fail2074:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2038 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2038 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2075;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2041, __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_fail2075:;
					  }
				      }
				    }
			          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 2019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_63 (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 2046 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_399 (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 1785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		if (gimple_simplify_208 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
							    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
							    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
			    if (gimple_simplify_226 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
							    if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
					    if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
					    if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			    if (gimple_simplify_293 (res_op, seq, valueize, type, captures, EQ_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 1785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		if (gimple_simplify_208 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
			if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
			if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
			    if (gimple_simplify_226 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
							if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, EQ_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 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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
									      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, EQ_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    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 *_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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
							    if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
					    if (gimple_simplify_293 (res_op, seq, valueize, type, captures, EQ_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 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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
									      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        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 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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
					      if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
			      if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
							if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
					if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
					if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
			if (gimple_simplify_337 (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 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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
					if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
			if (gimple_simplify_337 (res_op, seq, valueize, type, captures, EQ_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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_157 (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 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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_157 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, EQ_EXPR))
			        return true;
			    }
			  }
		        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_zerop (_p1))
		    {
		      {
/* #line 2100 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_300 (res_op, seq, valueize, type, captures, EQ_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_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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			      if (gimple_simplify_408 (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 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 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 ADDR_EXPR:
					    {
					      {
/* #line 2264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
						if (gimple_simplify_242 (res_op, seq, valueize, type, captures, EQ_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);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_474 (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 3250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_195 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_474 (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 3259 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_477 (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 2137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
	      if (gimple_simplify_255 (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 2137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
	      if (gimple_simplify_255 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_474 (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 3446 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
						if (gimple_simplify_340 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						  return true;
					      }
					    }
				        }
				    }
				  if (integer_onep (_q30))
				    {
				      if (integer_pow2p (_q21))
					{
					  if (integer_zerop (_p1))
					    {
					      {
/* #line 3570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
						if (gimple_simplify_232 (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 3453 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
						if (gimple_simplify_278 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						  return true;
					      }
					    }
				        }
				    }
			          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 3570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
						    if (gimple_simplify_232 (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 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_473 (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 3616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_290 (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 3620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_363 (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 3624 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_426 (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 3616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_290 (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 3620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_363 (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 3624 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_426 (res_op, seq, valueize, type, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2076;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2076;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2076;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2076:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2077;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2077;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2077;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2077:;
		  }
	          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 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_51 (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 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_51 (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 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_51 (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 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_51 (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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2078;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2078;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2078;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2078:;
		  }
	          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 (integer_zerop (_p1))
		    {
		      {
/* #line 4680 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_376 (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 4680 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_87 (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 4727 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_61 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      if (integer_zerop (_p1))
			{
			  {
/* #line 4710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			    if (gimple_simplify_224 (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 4754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_398 (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 4787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_436 (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 4787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_436 (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 4793 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_124 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 4801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_367 (res_op, seq, valueize, type, captures, EQ_EXPR, 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 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, EQ_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 4839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_74 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 4926 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_297 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_113 (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 5179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_237 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (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 5319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			if (gimple_simplify_325 (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 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_348 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_1 (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 5416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
						if (gimple_simplify_350 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  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);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_350 (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 5423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_414 (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 5429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_415 (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 5429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_415 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, EQ_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_SQRT, EQ_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 5387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		if (gimple_simplify_251 (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 5429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_415 (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 5429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_415 (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 5435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_417 (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 5435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_417 (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 5435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_417 (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 5435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_417 (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 5438 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
									      if (gimple_simplify_362 (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 5438 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
									      if (gimple_simplify_362 (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 5450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_434 (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 5450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_434 (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 5450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_434 (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 5450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
			if (gimple_simplify_434 (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 5456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
						if (gimple_simplify_431 (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 *_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 ADDR_EXPR:
					    {
					      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_140 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_140 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      if (integer_zerop (_p1))
			{
			  {
/* #line 5461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    if (gimple_simplify_396 (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 5456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_431 (res_op, seq, valueize, type, captures, EQ_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 (_p1))
		    {
		    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 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_448 (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 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_448 (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 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_448 (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 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_448 (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 5499 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			    if (gimple_simplify_464 (res_op, seq, valueize, type, captures, EQ_EXPR, 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_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if (integer_pow2p (_q21))
				    {
				      if (integer_zerop (_p1))
					{
					  {
/* #line 5557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
					    if (gimple_simplify_420 (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 5557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
			    if (gimple_simplify_111 (res_op, seq, valueize, type, captures, EQ_EXPR, GE_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 5478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_125 (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 5488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
					    if (gimple_simplify_102 (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 5478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_125 (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 5488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_442 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_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_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_17 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_17 (res_op, seq, valueize, type, captures, EQ_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
      if (integer_zerop (_p1))
	{
	  {
/* #line 5461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	    if (gimple_simplify_396 (res_op, seq, valueize, type, captures, EQ_EXPR))
	      return true;
	  }
        }
        break;
      }
    default:;
    }
  {
/* #line 5622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_144 (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 5635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_62 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_onep (_p1))
    {
      {
/* #line 5772 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 5772 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2079;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5774, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2079:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 5791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 5792 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2080;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5800, __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_fail2080:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2081;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5801, __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_fail2081;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2081:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 5791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 5792 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2082;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5800, __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_fail2082:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2083;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5801, __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_fail2083;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2083:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case VECTOR_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 5791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 5792 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2084;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5800, __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_fail2084:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2085;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5801, __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_fail2085;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2085:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 5791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 5792 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2086;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5800, __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_fail2086:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2087;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5801, __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_fail2087;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2087:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        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 5878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
									      if (gimple_simplify_98 (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 6809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_400 (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 6809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_400 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_11 (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 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_11 (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 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_11 (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 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_11 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_168 (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-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_168 (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 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_209 (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 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_209 (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 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_209 (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 654 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_209 (res_op, seq, valueize, type, captures, NE_EXPR, 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 (_p1))
		    {
		    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 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_191 (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 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_191 (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 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_191 (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 1864 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_191 (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 1874 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					      if (gimple_simplify_18 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_198 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
							if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
							if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
							    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
							    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
					    if (gimple_simplify_226 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_198 (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 1936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_19 (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 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2088;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail2088:;
					  }
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2089;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail2089:;
					  }
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2090;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail2090:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 1995 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2091;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1998, __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_fail2091:;
					  }
				      }
				    }
			          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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
							if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
							if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
			if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
			if (gimple_simplify_70 (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 2011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2011 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2092;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2014, __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_fail2092:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2038 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2038 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2093;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2041, __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_fail2093:;
					  }
				      }
				    }
			          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 2019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_63 (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 2046 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_399 (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 1785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		if (gimple_simplify_208 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
							    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
							    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
			    if (gimple_simplify_226 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
							    if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
					    if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
					    if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			    if (gimple_simplify_293 (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 1785 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		if (gimple_simplify_208 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
					if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
			if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
			if (gimple_simplify_70 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
					    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			    if (gimple_simplify_226 (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 2067 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
			    if (gimple_simplify_226 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
							if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, NE_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 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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
									      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, NE_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    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 *_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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
							    if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
					    if (gimple_simplify_293 (res_op, seq, valueize, type, captures, NE_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 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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
									      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        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 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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
					      if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
			      if (gimple_simplify_293 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
							if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
					if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
					if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
			if (gimple_simplify_337 (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 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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
					if (gimple_simplify_337 (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 2076 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
			if (gimple_simplify_337 (res_op, seq, valueize, type, captures, NE_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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_157 (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 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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_157 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, NE_EXPR))
			        return true;
			    }
			  }
		        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_zerop (_p1))
		    {
		      {
/* #line 2100 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_300 (res_op, seq, valueize, type, captures, NE_EXPR, GE_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_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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
							      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
					      if (gimple_simplify_408 (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 2110 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			      if (gimple_simplify_408 (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 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 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 ADDR_EXPR:
					    {
					      {
/* #line 2264 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
						if (gimple_simplify_242 (res_op, seq, valueize, type, captures, NE_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);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_474 (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 3250 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_195 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_474 (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 3259 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_477 (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 2137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
	      if (gimple_simplify_255 (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 2137 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
	      if (gimple_simplify_255 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_474 (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 3243 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_474 (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 3446 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
						if (gimple_simplify_340 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						  return true;
					      }
					    }
				        }
				    }
				  if (integer_onep (_q30))
				    {
				      if (integer_pow2p (_q21))
					{
					  if (integer_zerop (_p1))
					    {
					      {
/* #line 3570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
						if (gimple_simplify_232 (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 3453 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
						if (gimple_simplify_278 (res_op, seq, valueize, type, captures, NE_EXPR, 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];
		      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 3570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
						    if (gimple_simplify_232 (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 3466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_473 (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 3616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_290 (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 3620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_363 (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 3624 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_426 (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 3616 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_290 (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 3620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_363 (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 3624 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_426 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2094;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2094;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2094;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2094:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2095;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2095;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2095;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2095:;
		  }
	          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 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_51 (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 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_51 (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 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_51 (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 3974 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 3978 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_51 (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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2096;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2096;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2096;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2096:;
		  }
	          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 (integer_zerop (_p1))
		    {
		      {
/* #line 4680 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_376 (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 4680 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_87 (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 4727 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_61 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      if (integer_zerop (_p1))
			{
			  {
/* #line 4710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			    if (gimple_simplify_224 (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 4765 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_244 (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 4787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_436 (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 4787 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_436 (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 4793 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_124 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 4801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_367 (res_op, seq, valueize, type, captures, NE_EXPR, 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 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, NE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 4839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_74 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 4926 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_297 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_113 (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 5179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_237 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (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 5319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			if (gimple_simplify_325 (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 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_348 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_1 (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 5416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
						if (gimple_simplify_350 (res_op, seq, valueize, type, captures, NE_EXPR))
						  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);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_350 (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 5423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_414 (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 5429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_415 (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 5429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_415 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, NE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, NE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, NE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_SQRT, NE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 5387 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		if (gimple_simplify_251 (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 5429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_415 (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 5429 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_415 (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 5435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_417 (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 5435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_417 (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 5435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_417 (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 5435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_417 (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 5438 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
									      if (gimple_simplify_362 (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 5438 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
									      if (gimple_simplify_362 (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 5450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_434 (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 5450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_434 (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 5450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_434 (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 5450 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
			if (gimple_simplify_434 (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 5456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
						if (gimple_simplify_431 (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 *_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 ADDR_EXPR:
					    {
					      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_140 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_140 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      if (integer_zerop (_p1))
			{
			  {
/* #line 5461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    if (gimple_simplify_396 (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 5456 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_431 (res_op, seq, valueize, type, captures, 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 (_p1))
		    {
		    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 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_448 (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 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_448 (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 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_448 (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 5467 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_448 (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 5499 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			    if (gimple_simplify_464 (res_op, seq, valueize, type, captures, NE_EXPR, 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_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if (integer_pow2p (_q21))
				    {
				      if (integer_zerop (_p1))
					{
					  {
/* #line 5557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
					    if (gimple_simplify_420 (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 5557 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
			    if (gimple_simplify_111 (res_op, seq, valueize, type, captures, NE_EXPR, LT_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 5478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_125 (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 5488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
					    if (gimple_simplify_102 (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 5478 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_125 (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 5488 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_442 (res_op, seq, valueize, type, captures, NE_EXPR, GE_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_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_17 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_17 (res_op, seq, valueize, type, captures, NE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
      if (integer_zerop (_p1))
	{
	  {
/* #line 5461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	    if (gimple_simplify_396 (res_op, seq, valueize, type, captures, NE_EXPR))
	      return true;
	  }
        }
        break;
      }
    default:;
    }
  {
/* #line 5622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_144 (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 5635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_62 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 5766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 5766 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2097;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5768, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2097:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 5791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 5792 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2098;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5800, __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_fail2098:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2099;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5801, __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_fail2099;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2099:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 5791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 5792 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2100;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5800, __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_fail2100:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2101;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5801, __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_fail2101;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2101:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case VECTOR_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 5791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 5792 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2102;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5800, __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_fail2102:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2103;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5801, __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_fail2103;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2103:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5790 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 5791 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 5792 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5795 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 5799 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2104;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5800, __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_fail2104:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2105;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5801, __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_fail2105;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2105:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        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 5878 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
									      if (gimple_simplify_98 (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 6809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_400 (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 6809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_400 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7072 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_159 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7146 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_222 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_11 (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 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_11 (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 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_11 (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 7316 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_11 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2106;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2106:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2107;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2107:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGN;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2108;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2108:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGN;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2109;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2109:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2110;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2110:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2111;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2111:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF16;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2112;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2112:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF16;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2113;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2113:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF32;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2114;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2114:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF32;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2115;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2115:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF64;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2116;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2116:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF64;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2117;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2117:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF128;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2118;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2118:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF128;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2119;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2119:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF32X;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2120;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2120:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF32X;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2121;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2121:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF64X;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2122;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2122:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF64X;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2123;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2123:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF128X;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2124;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2124:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF128X;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2125;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2125:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_COPYSIGN;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2126;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2126:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 821 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_COPYSIGN;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2127;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 821, __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_fail2127:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 347 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_82 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_32 (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 879 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_245 (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 6218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_347 (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 6223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_24 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6228 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_129 (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 354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_216 (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 370 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
							if (gimple_simplify_291 (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 370 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
					if (gimple_simplify_291 (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 370 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
					if (gimple_simplify_148 (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 370 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
			if (gimple_simplify_148 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_405 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 408 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_3 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 403 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_220 (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 417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_267 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_100 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_100 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_270 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_270 (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 473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_36 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_114 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_114 (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 737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 737 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
			      {
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2128;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 738, __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_fail2128:;
			      }
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_307 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_307 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2129;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2129;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2129;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2129:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2130;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2130;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2130;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2130:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_onep (_p0))
  {
    {
/* #line 457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 461 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (TYPE_UNSIGNED (type)
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2131;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 462, __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_fail2131;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail2131:;
	    }
	  else
	    {
	      {
/* #line 463 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2132;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 464, __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_fail2132;
			    }
			  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_fail2132;
			_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_fail2132;
		      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_fail2132:;
	      }
	    }
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2133;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2133;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2133;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2133:;
		  }
	          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 354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_216 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_405 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 408 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_3 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 403 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_220 (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 417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_267 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_100 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_100 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_270 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_270 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_114 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_114 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_307 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_307 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2134;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2134;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2134;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2134:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2135;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2135;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2135;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2135:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2136;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2136;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2136;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2136:;
		  }
	          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 354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_216 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_405 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 408 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_3 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 403 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_220 (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 417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_267 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_100 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_100 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_270 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_270 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 446 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_114 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_114 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_307 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_307 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2137;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2137;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2137;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2137:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2138;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2138;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2138;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2138:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2139;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2139;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2139;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2139:;
		  }
	          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 354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_216 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_405 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 408 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_3 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 403 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_220 (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 417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_267 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_100 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_100 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_270 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_270 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_114 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_114 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_307 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_307 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2140;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2140;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2140;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2140:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2141;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2141;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2141;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2141:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2142;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2142;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2142;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2142:;
		  }
	          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 354 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_216 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 398 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_405 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 408 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_3 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 403 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_220 (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 417 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_267 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_100 (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 424 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_100 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_270 (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 433 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_270 (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 473 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_36 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_114 (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 587 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_114 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_307 (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 753 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_307 (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 446 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR, TRUNC_MOD_EXPR))
      return true;
  }
  if (integer_zerop (_p0))
    {
      {
/* #line 620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_142 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_296 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 629 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_418 (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 635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_289 (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 640 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_266 (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 644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_393 (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 717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
			  if (gimple_simplify_188 (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 717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	if (gimple_simplify_188 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2143;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2143;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2143;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2143:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2144;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2144;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2144;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2144:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2145;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2145;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2145;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2145:;
		  }
	          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 504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2146;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 507, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  build_one_cst (type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2146:;
	  }
      }
    }
  switch (TREE_CODE (_p1))
    {
    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 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_475 (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 513 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_475 (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 521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_43 (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 521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_43 (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 521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_43 (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 521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_43 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (real_onep (_p1))
    {
      {
/* #line 535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 535 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2147;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 536, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2147:;
	  }
      }
    }
  if (real_minus_onep (_p1))
    {
      {
/* #line 541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 541 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2148;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 542, __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_fail2148:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
/* #line 544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (flag_reciprocal_math
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2149;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 548, __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_fail2149;
			    res_op->ops[1] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail2149:;
		      }
		  }
	          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 544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_reciprocal_math
)
			    {
			      {
/* #line 553 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
/* #line 555 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (tem
)
				    {
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[1])))
				        lseq = NULL;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2150;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 556, __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_fail2150;
					  res_op->ops[0] = _r1;
					}
					res_op->ops[1] = captures[2];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail2150:;
				    }
			      }
			    }
			}
		        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 544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 544 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (flag_reciprocal_math
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2151;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 561, __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_fail2151;
			    res_op->ops[0] = _r1;
			  }
			  res_op->ops[1] = captures[3];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail2151:;
		      }
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 566 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2152;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 566, __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_fail2152;
			res_op->ops[0] = _r1;
		      }
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2152:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 604 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 606 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (tem
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2153;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 609, __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_fail2153:;
			}
		  }
		}
	      else
		{
/* #line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (REAL_CST != COMPLEX_CST
)
		    {
		      {
/* #line 611 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2154;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 613, __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_fail2154:;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    case COMPLEX_CST:
      {
	{
/* #line 603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 604 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 606 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (tem
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2155;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 609, __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_fail2155:;
			}
		  }
		}
	      else
		{
/* #line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (COMPLEX_CST != COMPLEX_CST
)
		    {
		      {
/* #line 611 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2156;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 613, __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_fail2156:;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    case VECTOR_CST:
      {
	{
/* #line 603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 603 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 604 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 606 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (tem
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2157;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 609, __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_fail2157:;
			}
		  }
		}
	      else
		{
/* #line 610 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (VECTOR_CST != COMPLEX_CST
)
		    {
		      {
/* #line 611 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 612 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2158;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 613, __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_fail2158:;
			    }
		      }
		    }
		}
	    }
	}
        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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2159;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2159;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2159;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2159:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2160;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2160;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2160;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2160:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2161;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2161;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2161;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2161:;
		  }
	          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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2162;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5973, __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_fail2162;
						_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_fail2162;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2162:;
					}
				    }
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2163;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5973, __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_fail2163;
						_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_fail2163;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2163:;
					}
				    }
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2164;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5973, __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_fail2164;
						_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_fail2164;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2164:;
					}
				    }
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2165;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5973, __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_fail2165;
						_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_fail2165;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2165:;
					}
				    }
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2166;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5973, __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_fail2166;
						_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_fail2166;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2166:;
					}
				    }
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2167;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5973, __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_fail2167;
						_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_fail2167;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2167:;
					}
				    }
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2168;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5973, __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_fail2168;
						_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_fail2168;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2168:;
					}
				    }
				    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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2169;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2169;
				_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_fail2169;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2169:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2170;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2170;
				_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_fail2170;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2170:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2171;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2171;
				_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_fail2171;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2171:;
			}
		    }
	          }
	        break;
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2172;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2172;
				_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_fail2172;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2172:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2173;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2173;
				_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_fail2173;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2173:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2174;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2174;
				_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_fail2174;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2174:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2175;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2175;
				_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_fail2175;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2175:;
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2176;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2176;
				_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_fail2176;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2176:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2177;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2177;
				_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_fail2177;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2177:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2178;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2178;
				_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_fail2178;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2178:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2179;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2179;
				_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_fail2179;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2179:;
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2180;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2180;
				_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_fail2180;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2180:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2181;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2181;
				_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_fail2181;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2181:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2182;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2182;
				_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_fail2182;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2182:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2183;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5979, __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_fail2183;
				_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_fail2183;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2183:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_71 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_456 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_71 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_456 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_71 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_456 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_71 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_456 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_465 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_465 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_465 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_465 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_10 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_10 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_10 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_10 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_94 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_94 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_94 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_94 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_133 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_133 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_133 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_133 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
				if (gimple_simplify_141 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
				if (gimple_simplify_141 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
				if (gimple_simplify_141 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
				if (gimple_simplify_141 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		      if (gimple_simplify_153 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		      if (gimple_simplify_153 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		      if (gimple_simplify_153 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		      if (gimple_simplify_153 (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 568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_26 (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 1167 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_304 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_409 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_198 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_198 (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 1936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_19 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_91 (res_op, seq, valueize, type, captures, LT_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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_275 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_275 (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 2004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_96 (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 2031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_424 (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 2019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_63 (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 2046 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_399 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_275 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_275 (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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_157 (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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_157 (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 3271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_149 (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 3271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_149 (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 3281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_167 (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 3281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_167 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2184;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2184;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2184;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2184:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2185;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2185;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2185;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2185:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2186;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2186;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2186;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2186:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 4630 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_22 (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 4710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      if (gimple_simplify_224 (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 4765 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_244 (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 4793 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_124 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 4801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_367 (res_op, seq, valueize, type, captures, LT_EXPR, GT_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 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, LT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 4839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_74 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
			      if (gimple_simplify_372 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 4926 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_297 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_113 (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 5195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_239 (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 5218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_468 (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 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_348 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_1 (res_op, seq, valueize, type, captures, LT_EXPR))
		      return true;
		  }
		  switch (TREE_CODE (_q20))
		    {
		    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 ADDR_EXPR:
					    {
					      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_140 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_140 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if (uniform_integer_cst_p (_p1))
		    {
		      {
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			if (gimple_simplify_92 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, LT_EXPR, 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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, LT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, LT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, LT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_SQRT, LT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (res_op, seq, valueize, type, captures, CFN_SQRT, 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 ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_17 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_17 (res_op, seq, valueize, type, captures, LT_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	if (gimple_simplify_182 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
							      if (gimple_simplify_86 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
							      if (gimple_simplify_86 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
			      if (gimple_simplify_372 (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 5830 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			if (gimple_simplify_175 (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 5839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					    if (gimple_simplify_312 (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 5849 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					      if (gimple_simplify_258 (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 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					      if (gimple_simplify_33 (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 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
					      if (gimple_simplify_33 (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 5867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
			if (gimple_simplify_328 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_480 (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 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_404 (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 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_404 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_26 (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 1172 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_471 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_409 (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 1900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_309 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_91 (res_op, seq, valueize, type, captures, LE_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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_275 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_275 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_198 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_198 (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 1936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_19 (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 2004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_96 (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 2031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_424 (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 2019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_63 (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 2046 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_399 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_275 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_275 (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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_157 (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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_157 (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 3271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_149 (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 3271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_149 (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 3281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_167 (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 3281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_167 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2187;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2187;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2187;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2187:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2188;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2188;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2188;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2188:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2189;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2189;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2189;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2189:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_196 (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 4710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      if (gimple_simplify_224 (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 4754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_398 (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 4793 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_124 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 4801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_367 (res_op, seq, valueize, type, captures, LE_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);
				  {
/* #line 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, LE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 4839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_74 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
			      if (gimple_simplify_372 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 4926 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_297 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_113 (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 5195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_239 (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 5218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_468 (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 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_348 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_1 (res_op, seq, valueize, type, captures, LE_EXPR))
		      return true;
		  }
		  switch (TREE_CODE (_q20))
		    {
		    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 ADDR_EXPR:
					    {
					      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_140 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_140 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if (uniform_integer_cst_p (_p1))
		    {
		      {
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			if (gimple_simplify_92 (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 5283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_21 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, LE_EXPR, 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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, LE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, LE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, LE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_SQRT, LE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (res_op, seq, valueize, type, captures, CFN_SQRT, 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 ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_17 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_17 (res_op, seq, valueize, type, captures, LE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	if (gimple_simplify_182 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
							      if (gimple_simplify_86 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
							      if (gimple_simplify_86 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
			      if (gimple_simplify_372 (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 5830 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_175 (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 5839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
					    if (gimple_simplify_460 (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 5849 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					      if (gimple_simplify_265 (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 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					      if (gimple_simplify_264 (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 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
					      if (gimple_simplify_264 (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 5867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_395 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_480 (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 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_404 (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 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_404 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_478 (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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_478 (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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_478 (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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_478 (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 568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_26 (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 1172 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_471 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_409 (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 1900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_309 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_91 (res_op, seq, valueize, type, captures, GT_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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_275 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_275 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_198 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_198 (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 1936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_19 (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 2004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_96 (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 2031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_424 (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 2019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_63 (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 2046 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_399 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_275 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_275 (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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_157 (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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_157 (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 3271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_149 (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 3271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_149 (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 3281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_167 (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 3281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_167 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2190;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2190;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2190;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2190:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2191;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2191;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2191;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2191:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2192;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2192;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2192;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2192:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 4620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_196 (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 4710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      if (gimple_simplify_224 (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 4765 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_244 (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 4793 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_124 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 4801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_367 (res_op, seq, valueize, type, captures, GT_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);
				  {
/* #line 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, GT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 4839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_74 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
			      if (gimple_simplify_372 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 4926 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_297 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_113 (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 5195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_239 (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 5218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_468 (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 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_348 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_1 (res_op, seq, valueize, type, captures, GT_EXPR))
		      return true;
		  }
		  switch (TREE_CODE (_q20))
		    {
		    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 ADDR_EXPR:
					    {
					      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_140 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_140 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if (uniform_integer_cst_p (_p1))
		    {
		      {
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			if (gimple_simplify_92 (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 5283 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_21 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, GT_EXPR, 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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, GT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, GT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, GT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_SQRT, GT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (res_op, seq, valueize, type, captures, CFN_SQRT, 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 ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_17 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_17 (res_op, seq, valueize, type, captures, GT_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	if (gimple_simplify_182 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
							      if (gimple_simplify_86 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
							      if (gimple_simplify_86 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
			      if (gimple_simplify_372 (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 5830 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_175 (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 5839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
					    if (gimple_simplify_460 (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 5849 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					      if (gimple_simplify_265 (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 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					      if (gimple_simplify_264 (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 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
					      if (gimple_simplify_264 (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 5867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_395 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_480 (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 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_404 (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 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_404 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7179 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_364 (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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_478 (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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_478 (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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_478 (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 7337 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_478 (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 568 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_26 (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 1167 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_304 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_409 (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 1887 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_409 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_198 (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 1912 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_198 (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 1936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_19 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_91 (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 1988 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_91 (res_op, seq, valueize, type, captures, GE_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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_275 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_275 (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 2004 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_96 (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 2031 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_424 (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 2019 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_63 (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 2046 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_399 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_275 (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 2058 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_275 (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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_157 (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 2086 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_157 (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 3271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_149 (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 3271 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_149 (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 3281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_167 (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 3281 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_167 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2193;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2193;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2193;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2193:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2194;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2194;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2194;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2194:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2195;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2195;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2195;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2195:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 4630 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_22 (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 4710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      if (gimple_simplify_224 (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 4754 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_398 (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 4793 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_124 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 4801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_367 (res_op, seq, valueize, type, captures, GE_EXPR, LE_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 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4809 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, GE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 4839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_74 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
			      if (gimple_simplify_372 (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 4910 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_284 (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 4926 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_297 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5111 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_113 (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 5195 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_239 (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 5218 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_468 (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 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_348 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5326 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_1 (res_op, seq, valueize, type, captures, GE_EXPR))
		      return true;
		  }
		  switch (TREE_CODE (_q20))
		    {
		    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 ADDR_EXPR:
					    {
					      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_140 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_140 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if (uniform_integer_cst_p (_p1))
		    {
		      {
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			if (gimple_simplify_92 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, GE_EXPR, 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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, GE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, GE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, GE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (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 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_295 (res_op, seq, valueize, type, captures, CFN_SQRT, GE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 4934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_58 (res_op, seq, valueize, type, captures, CFN_SQRT, 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 ADDR_EXPR:
			    {
			      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_17 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 5590 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_17 (res_op, seq, valueize, type, captures, GE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 5655 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	if (gimple_simplify_182 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
							      if (gimple_simplify_86 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
							      if (gimple_simplify_86 (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 5811 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
			      if (gimple_simplify_372 (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 5830 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			if (gimple_simplify_175 (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 5839 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					    if (gimple_simplify_312 (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 5849 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					      if (gimple_simplify_258 (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 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					      if (gimple_simplify_33 (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 5857 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
					      if (gimple_simplify_33 (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 5867 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
			if (gimple_simplify_328 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_480 (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 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_404 (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 6825 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_404 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 7107 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_253 (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 620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_142 (res_op, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_296 (res_op, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 629 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_418 (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 635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_289 (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 640 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_266 (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 644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_393 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2196;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2196;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2196;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2196:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2197;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2197;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2197;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2197:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2198;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2198;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2198;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2198:;
		  }
	          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 620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_142 (res_op, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_296 (res_op, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 629 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_418 (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 635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_289 (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 640 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_266 (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 644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_393 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2199;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2199;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2199;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2199:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2200;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2200;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2200;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2200:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2201;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2201;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2201;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2201:;
		  }
	          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 620 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_142 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 625 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_296 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 629 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_418 (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 635 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_289 (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 640 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_266 (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 644 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_393 (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 672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				    if (gimple_simplify_271 (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 717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
			if (gimple_simplify_188 (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 672 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    if (gimple_simplify_271 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 661 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 661 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2202;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 667, __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_fail2202;
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail2202:;
	    }
	}
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_power_of_two_cand (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      {
/* #line 717 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	if (gimple_simplify_188 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2203;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2203;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2203;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2203:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2204;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2204;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2204;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2204:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2205;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2205;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2205;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2205:;
		  }
	          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 712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
			  if (gimple_simplify_38 (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 712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
			  if (gimple_simplify_38 (res_op, seq, valueize, type, captures, LSHIFT_EXPR, FLOOR_MOD_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 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 923 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
/* #line 923 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 925 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 wide_int wone = wi::one (TYPE_PRECISION (type));
						      gimple_seq *lseq = seq;
						      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2206;
						      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 926, __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_fail2206;
							    }
							  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_fail2206:;
						  }
						}
					    }
					    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 3344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
/* #line 3344 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2207;
								  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3356, __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_fail2207;
								        }
								      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_fail2207;
								      res_op->ops[1] = _r1;
								    }
								    res_op->resimplify (lseq, valueize);
								    return true;
								  }
next_after_fail2207:;
								}
							    }
							  }
						        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 3338 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      if (gimple_simplify_459 (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 3338 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  if (gimple_simplify_459 (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 911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 911 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 914 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				if (TYPE_UNSIGNED (type)
)
				  {
				    gimple_seq *lseq = seq;
				    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2208;
				    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 915, __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_fail2208;
					res_op->ops[0] = _r1;
				      }
				      res_op->ops[1] = captures[3];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail2208:;
				  }
				else
				  {
				    {
/* #line 916 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
					gimple_seq *lseq = seq;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2209;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 918, __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_fail2209;
						  }
						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_fail2209;
					      _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_fail2209;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2209:;
				    }
				  }
			      }
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		default:;
		}
          }
        break;
      default:;
      }
  }
  if (integer_zerop (_p1))
    {
      {
/* #line 3374 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_214 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3377 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_181 (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 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (gimple_simplify_361 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
	{
	  {
/* #line 3393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	    if (gimple_simplify_183 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
	      return true;
	  }
	}
      break;
    case VECTOR_CST:
      {
	{
/* #line 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_382 (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 3414 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_334 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_470 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_470 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_470 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_59 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_59 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_59 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2210;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2210;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2210;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2210:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2211;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2211;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2211;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2211:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2212;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2212;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2212;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2212:;
		  }
	          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 712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
			  if (gimple_simplify_38 (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 712 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
			  if (gimple_simplify_38 (res_op, seq, valueize, type, captures, RSHIFT_EXPR, FLOOR_MOD_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);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (!TYPE_UNSIGNED (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
)
			    {
			      {
/* #line 936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 942 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2213;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 950, __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_fail2213;
					    _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_fail2213;
					    }
					  else
					    _r1 = _o1[0];
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail2213:;
				    }
				  else
				    {
/* #line 952 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2214;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 961, __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_fail2214;
					      res_op->ops[0] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2214:;
					}
				    }
			      }
			    }
			}
		        break;
		      }
		    case VECTOR_CST:
		      {
			{
/* #line 934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 934 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (!TYPE_UNSIGNED (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
)
			    {
			      {
/* #line 936 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 942 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2215;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 950, __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_fail2215;
					    _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_fail2215;
					    }
					  else
					    _r1 = _o1[0];
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail2215:;
				    }
				  else
				    {
/* #line 952 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2216;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 961, __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_fail2216;
					      res_op->ops[0] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail2216:;
					}
				    }
			      }
			    }
			}
		        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 3362 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3362 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (TYPE_UNSIGNED (type)
 && (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type)))
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2217;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3364, __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_fail2217;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail2217:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_all_onesp (_p0))
  {
    {
/* #line 3332 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3332 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      if (!TYPE_UNSIGNED (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2218;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3333, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail2218:;
	}
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 3369 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2219;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3369, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  build_zero_cst (type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2219:;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3374 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_214 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3377 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_181 (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 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (gimple_simplify_361 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
	{
	  {
/* #line 3393 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	    if (gimple_simplify_183 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
	      return true;
	  }
	}
      break;
    case VECTOR_CST:
      {
	{
/* #line 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_382 (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 3414 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_334 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_470 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_470 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_470 (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 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_55 (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 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_55 (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 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_55 (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 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_55 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_59 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_59 (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 3580 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_59 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2220;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2220;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2220;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2220:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2221;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2221;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2221;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2221:;
		  }
	          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 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_55 (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 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_55 (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 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_55 (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 4010 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_55 (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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2222;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2222;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2222;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2222:;
		  }
	          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 7248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
																														      tree captures[12] ATTRIBUTE_UNUSED = { _q50, _q51, _q100, _q101, _q160, _q191, _q181, _q141, _q131, _q31, _q21, _p1 };
																														      if (gimple_simplify_184 (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 7248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
																														      tree captures[12] ATTRIBUTE_UNUSED = { _q50, _q51, _q110, _q211, _q120, _q151, _q141, _q111, _q101, _q31, _q21, _p1 };
																														      if (gimple_simplify_184 (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 7248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
																														      tree captures[12] ATTRIBUTE_UNUSED = { _q40, _q211, _q60, _q61, _q120, _q151, _q141, _q101, _q91, _q31, _q21, _p1 };
																														      if (gimple_simplify_184 (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 7248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
																														      tree captures[12] ATTRIBUTE_UNUSED = { _q40, _q201, _q70, _q171, _q80, _q111, _q101, _q71, _q61, _q31, _q21, _p1 };
																														      if (gimple_simplify_184 (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;
	        }
	      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 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POWF;
			  {
/* #line 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2223;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 802, __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_fail2223:;
				}
			  }
			}
		        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 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POWF;
			  {
/* #line 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2224;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 802, __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_fail2224:;
				}
			  }
			}
		        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 845 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_206 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2225;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2225;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2225:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2226;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2226;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2226:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2227;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2227;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2227:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2228;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2228;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2228:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2229;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6355, __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_fail2229;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2229:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2230;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6359, __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_fail2230;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2230:;
			    }
			}
		      }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2231;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6363, __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_fail2231;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2231:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_210 (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 6213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_197 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  {
/* #line 6593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 6599 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2232;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6600, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_real (type, dconst1);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2232:;
		}
	      else
		{
/* #line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2233;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6603, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[0];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail2233:;
		    }
		  else
		    {
/* #line 6605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1)
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2234;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6606, __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_fail2234:;
			}
		      else
			{
/* #line 6608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && real_equal (value, &dconsthalf)
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2235;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6611, __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_fail2235:;
			    }
			  else
			    {
/* #line 6613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2236;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6617, __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_fail2236:;
				}
			    }
			}
		    }
		}
	  }
	}
        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 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POW;
			  {
/* #line 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2237;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 802, __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_fail2237:;
				}
			  }
			}
		        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 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POW;
			  {
/* #line 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2238;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 802, __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_fail2238:;
				}
			  }
			}
		        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 845 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_206 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2239;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2239;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2239:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2240;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2240;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2240:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2241;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2241;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2241:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2242;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2242;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2242:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2243;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6355, __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_fail2243;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2243:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2244;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6359, __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_fail2244;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2244:;
			    }
			}
		      }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2245;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6363, __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_fail2245;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2245:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_210 (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 6213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_197 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  {
/* #line 6593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 6599 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2246;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6600, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_real (type, dconst1);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2246:;
		}
	      else
		{
/* #line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2247;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6603, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[0];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail2247:;
		    }
		  else
		    {
/* #line 6605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1)
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2248;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6606, __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_fail2248:;
			}
		      else
			{
/* #line 6608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && real_equal (value, &dconsthalf)
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2249;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6611, __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_fail2249:;
			    }
			  else
			    {
/* #line 6613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2250;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6617, __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_fail2250:;
				}
			    }
			}
		    }
		}
	  }
	}
        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 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POWL;
			  {
/* #line 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2251;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 802, __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_fail2251:;
				}
			  }
			}
		        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 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POWL;
			  {
/* #line 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2252;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 802, __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_fail2252:;
				}
			  }
			}
		        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 845 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_206 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2253;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2253;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2253:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2254;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2254;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2254:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2255;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2255;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2255:;
			}
		    }
	          }
	        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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2256;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2256;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2256:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2257;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6355, __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_fail2257;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2257:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2258;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6359, __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_fail2258;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2258:;
			    }
			}
		      }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2259;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6363, __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_fail2259;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2259:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_210 (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 6213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_197 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  {
/* #line 6593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 6599 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2260;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6600, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_real (type, dconst1);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2260:;
		}
	      else
		{
/* #line 6602 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2261;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6603, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[0];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail2261:;
		    }
		  else
		    {
/* #line 6605 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1)
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2262;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6606, __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_fail2262:;
			}
		      else
			{
/* #line 6608 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && real_equal (value, &dconsthalf)
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2263;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6611, __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_fail2263:;
			    }
			  else
			    {
/* #line 6613 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2264;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6617, __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_fail2264:;
				}
			    }
			}
		    }
		}
	  }
	}
        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 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_POW;
			  {
/* #line 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2265;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 802, __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_fail2265:;
				}
			  }
			}
		        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 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_POW;
			  {
/* #line 800 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 801 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2266;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 802, __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_fail2266:;
				}
			  }
			}
		        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 845 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_206 (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 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2267;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2267;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2267:;
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2268;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2268;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2268:;
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2269;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6122, __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_fail2269;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2269:;
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2270;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6355, __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_fail2270;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2270:;
			}
		    }
	          }
	        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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2271;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6363, __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_fail2271;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2271:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 5927 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_210 (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 6213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_197 (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 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2272;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 808, __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_fail2272:;
			    }
			}
		        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 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2273;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 808, __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_fail2273:;
			    }
			}
		        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 853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if ((wi::to_wide (captures[2]) & 1) == 0
)
			      {
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2274;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 854, __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_fail2274:;
			      }
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 6622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_40 (res_op, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 6628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (wi::to_wide (captures[1]) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2275;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6629, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_real (type, dconst1);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2275:;
	    }
	  else
	    {
/* #line 6631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (wi::to_wide (captures[1]) == 1
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2276;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6632, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2276:;
		}
	      else
		{
/* #line 6634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (wi::to_wide (captures[1]) == -1
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2277;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6635, __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_fail2277:;
		    }
		}
	    }
	}
        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 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2278;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 808, __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_fail2278:;
			    }
			}
		        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 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2279;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 808, __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_fail2279:;
			    }
			}
		        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 853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if ((wi::to_wide (captures[2]) & 1) == 0
)
			      {
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2280;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 854, __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_fail2280:;
			      }
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 6622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_40 (res_op, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 6628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (wi::to_wide (captures[1]) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2281;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6629, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_real (type, dconst1);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2281:;
	    }
	  else
	    {
/* #line 6631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (wi::to_wide (captures[1]) == 1
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2282;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6632, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2282:;
		}
	      else
		{
/* #line 6634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (wi::to_wide (captures[1]) == -1
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2283;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6635, __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_fail2283:;
		    }
		}
	    }
	}
        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 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2284;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 808, __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_fail2284:;
			    }
			}
		        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 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 807 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2285;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 808, __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_fail2285:;
			    }
			}
		        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 853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 853 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if ((wi::to_wide (captures[2]) & 1) == 0
)
			      {
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2286;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 854, __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_fail2286:;
			      }
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 6622 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_40 (res_op, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 6628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6628 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (wi::to_wide (captures[1]) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2287;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6629, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_real (type, dconst1);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2287:;
	    }
	  else
	    {
/* #line 6631 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (wi::to_wide (captures[1]) == 1
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2288;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6632, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2288:;
		}
	      else
		{
/* #line 6634 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (wi::to_wide (captures[1]) == -1
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2289;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6635, __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_fail2289:;
		    }
		}
	    }
	}
        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 813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2290;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 813, __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_fail2290:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2291;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 813, __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_fail2291:;
		  }
	          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 816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2292;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 816, __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_fail2292:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTF;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2293;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 816, __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_fail2293:;
		  }
	          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 861 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_333 (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 865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		      if (gimple_simplify_335 (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 6208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_358 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTF))
        return true;
    }
  }
  if (real_zerop (_p0))
    {
      {
/* #line 6208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	if (gimple_simplify_358 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_313 (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 813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2294;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 813, __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_fail2294:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2295;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 813, __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_fail2295:;
		  }
	          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 816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2296;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 816, __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_fail2296:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2297;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 816, __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_fail2297:;
		  }
	          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 861 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_333 (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 865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		      if (gimple_simplify_335 (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 6208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_358 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOT))
        return true;
    }
  }
  if (real_zerop (_p0))
    {
      {
/* #line 6208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	if (gimple_simplify_358 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_313 (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 813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2298;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 813, __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_fail2298:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2299;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 813, __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_fail2299:;
		  }
	          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 816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2300;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 816, __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_fail2300:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTL;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2301;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 816, __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_fail2301:;
		  }
	          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 861 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_333 (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 865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		      if (gimple_simplify_335 (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 6208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_358 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTL))
        return true;
    }
  }
  if (real_zerop (_p0))
    {
      {
/* #line 6208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	if (gimple_simplify_358 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_313 (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 813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2302;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 813, __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_fail2302:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 813 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2303;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 813, __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_fail2303:;
		  }
	          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 816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2304;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 816, __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_fail2304:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 816 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2305;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 816, __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_fail2305:;
		  }
	          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 861 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_333 (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 865 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		      if (gimple_simplify_335 (res_op, seq, valueize, type, captures, CFN_HYPOT, CFN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (_p1))
  {
    {
/* #line 6208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_358 (res_op, seq, valueize, type, captures, CFN_HYPOT))
        return true;
    }
  }
  if (real_zerop (_p0))
    {
      {
/* #line 6208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	if (gimple_simplify_358 (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 6253 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_313 (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_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 976 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_306 (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 976 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_306 (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 976 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_306 (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 976 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_306 (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 981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q41 };
/* #line 981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2306;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 982, __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_fail2306;
						      _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_fail2306;
						    res_op->ops[1] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2306:;
					      }
					  }
				        }
				    }
			          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 981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q31 };
/* #line 981 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2307;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 982, __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_fail2307;
						      _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_fail2307;
						    res_op->ops[1] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2307:;
					      }
					  }
				        }
				    }
			          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 1120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_329 (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 1120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_329 (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 1120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_329 (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 1131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_185 (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 1131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_185 (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 1131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_185 (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 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			  if (gimple_simplify_35 (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 991 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_287 (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 1000 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_160 (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 1052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_438 (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 1052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_438 (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 1052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
							    if (gimple_simplify_438 (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 1052 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
							    if (gimple_simplify_438 (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 1286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
					if (gimple_simplify_50 (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 1286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
					if (gimple_simplify_50 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
			{
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 1104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 1104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2308;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1106, __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_fail2308:;
				    }
				}
			        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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q61 };
							    if (gimple_simplify_450 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q60 };
							    if (gimple_simplify_450 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q61 };
							    if (gimple_simplify_450 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q60 };
							    if (gimple_simplify_450 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q71 };
							    if (gimple_simplify_450 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q70 };
							    if (gimple_simplify_450 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q71 };
							    if (gimple_simplify_450 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q70 };
							    if (gimple_simplify_450 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
							    if (gimple_simplify_453 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
							    if (gimple_simplify_453 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
							    if (gimple_simplify_453 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
							    if (gimple_simplify_453 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
							    if (gimple_simplify_453 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
							    if (gimple_simplify_453 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
							    if (gimple_simplify_453 (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 1083 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
							    if (gimple_simplify_453 (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 1120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_329 (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 1120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_329 (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 1120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_329 (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 1131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_185 (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 1131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_185 (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 1131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_185 (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 1142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			  if (gimple_simplify_35 (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 1154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_402 (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 1154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_402 (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 1154 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_402 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 1188 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2309;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1188, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2309:;
      }
    }
  if (integer_all_onesp (_p1))
    {
      {
/* #line 1211 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2310;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1211, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2310:;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 1217 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_25 (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 1223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1223 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2311;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1225, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail2311:;
		  }
	      }
	      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 1286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
					if (gimple_simplify_50 (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 1286 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
					if (gimple_simplify_50 (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 1319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					if (gimple_simplify_64 (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 1319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					if (gimple_simplify_64 (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 1376 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_81 (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 1381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_324 (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 1381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_324 (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 1381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
							    if (gimple_simplify_324 (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 1381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
							    if (gimple_simplify_324 (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 1386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
									    if (gimple_simplify_85 (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 1386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
									    if (gimple_simplify_85 (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 1386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
									    if (gimple_simplify_85 (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 1386 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
									    if (gimple_simplify_85 (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 1319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _p0 };
					if (gimple_simplify_165 (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 1319 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p0 };
					if (gimple_simplify_165 (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 1376 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
							    if (gimple_simplify_81 (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 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
						    if (gimple_simplify_194 (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 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_194 (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 1381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
							    if (gimple_simplify_324 (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 1381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
							    if (gimple_simplify_324 (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 1381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
							    if (gimple_simplify_324 (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 1381 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
							    if (gimple_simplify_324 (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 1469 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_16 (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 1469 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_16 (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 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
								    if (gimple_simplify_194 (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 1428 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
						    if (gimple_simplify_194 (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 1469 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_16 (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 1469 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_16 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
									if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
									if (gimple_simplify_169 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
							if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
							if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
					if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
					if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
							if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
							if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
					if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
					if (gimple_simplify_65 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
					if (gimple_simplify_169 (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 1481 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
					if (gimple_simplify_169 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
					if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
					if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
					if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
					if (gimple_simplify_485 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
							if (gimple_simplify_77 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
							if (gimple_simplify_77 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
							if (gimple_simplify_77 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
							if (gimple_simplify_77 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
			if (gimple_simplify_485 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
			if (gimple_simplify_485 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
					if (gimple_simplify_461 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
					if (gimple_simplify_461 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
					if (gimple_simplify_461 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
					if (gimple_simplify_461 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
			if (gimple_simplify_65 (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 1491 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
			if (gimple_simplify_65 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
									if (gimple_simplify_391 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
									if (gimple_simplify_391 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
									if (gimple_simplify_391 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
									if (gimple_simplify_391 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
							if (gimple_simplify_227 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
							if (gimple_simplify_227 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
							if (gimple_simplify_227 (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 1501 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
							if (gimple_simplify_227 (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 1660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_170 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 1660 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_283 (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 1710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_351 (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 1710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_351 (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 1715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
					if (gimple_simplify_233 (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 1715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
					if (gimple_simplify_233 (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 1725 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  gimple_seq *lseq = seq;
			  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2312;
			  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1725, __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_fail2312;
			      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 (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail2312;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail2312:;
			}
		      }
		  }
	          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 1710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_351 (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 1710 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_351 (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 1715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
					if (gimple_simplify_233 (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 1715 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
					if (gimple_simplify_233 (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 1731 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_28 (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 1775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      if (gimple_simplify_392 (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 (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 2282 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_229 (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 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
								if (gimple_simplify_107 (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 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
						if (gimple_simplify_357 (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 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
								if (gimple_simplify_107 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
										  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
										  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
										  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
										  if (gimple_simplify_428 (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 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
						if (gimple_simplify_357 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
								  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
								  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
								  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
								  if (gimple_simplify_428 (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 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_145 (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 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_145 (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 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_145 (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 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_145 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
					      return true;
					  }
				          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)))
	{
	  {
/* #line 1775 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	    if (gimple_simplify_392 (res_op, seq, valueize, type, captures))
	      return true;
	  }
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2282 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_229 (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 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_190 (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 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_73 (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 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_190 (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 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_73 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_190 (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 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_73 (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 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_190 (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 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_73 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
						      return true;
						  }
						  {
/* #line 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						      return true;
						  }
						  {
/* #line 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (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 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_298 (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 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_298 (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 2331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
					  if (gimple_simplify_343 (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 2331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
					  if (gimple_simplify_343 (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 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_247 (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 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_247 (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 2336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
					  if (gimple_simplify_20 (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 2336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
					  if (gimple_simplify_20 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						      return true;
						  }
						  {
/* #line 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
						      return true;
						  }
						  {
/* #line 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_332 (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 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_298 (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 2310 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_298 (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 2379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
/* #line 2379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2313;
					      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2381, __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_fail2313;
						  res_op->ops[1] = _r1;
						}
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail2313:;
					    }
					}
				      }
				    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 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_247 (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 2322 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_247 (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 2331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					    if (gimple_simplify_305 (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 2336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					    if (gimple_simplify_250 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2331 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					    if (gimple_simplify_305 (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 2336 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					    if (gimple_simplify_250 (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 2379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
/* #line 2379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2314;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2381, __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_fail2314;
						    res_op->ops[1] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2314:;
					      }
					  }
				        }
				    }
			          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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2390 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_202 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_29 (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 2416 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_29 (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 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
						if (gimple_simplify_6 (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 3435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3435 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if ((wi::to_wide (captures[0]) & 1) != 0
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2315;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3436, __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_fail2315;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail2315:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2316;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3437, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  build_zero_cst (type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail2316:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
				if (gimple_simplify_365 (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 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
						if (gimple_simplify_6 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
								  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
								  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
								  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
								  if (gimple_simplify_428 (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 3482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
				if (gimple_simplify_365 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
						  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
						  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
						  if (gimple_simplify_428 (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 3984 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
						  if (gimple_simplify_428 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2317;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2317;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2317;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2317:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2318;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2318;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2318;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2318:;
		  }
	          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 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_145 (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 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_145 (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 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_145 (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 4045 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_145 (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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2319;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2319;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2319;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2319:;
		  }
	          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 5242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
/* #line 5242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    if (types_match (captures[0], captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2320;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5243, __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_fail2320:;
					      }
					  }
				        }
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 5249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
					    if (gimple_simplify_437 (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 5249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
					    if (gimple_simplify_437 (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 5249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
					    if (gimple_simplify_93 (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 5249 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
					    if (gimple_simplify_93 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_241 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_241 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_241 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_241 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_241 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 5265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_443 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_241 (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 6788 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_241 (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 6755 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
							  if (gimple_simplify_130 (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 6755 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
							  if (gimple_simplify_130 (res_op, seq, valueize, type, captures, PLUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          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);
		    if (integer_onep (_p1))
		      {
			{
/* #line 7184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_366 (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 7184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_366 (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 7184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_366 (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 7184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_366 (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 7184 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_366 (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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (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 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 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_7 (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 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_7 (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 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_7 (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 3105 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
			if (gimple_simplify_7 (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 3120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_118 (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 3120 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 3127 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3127 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2321;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3130, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2321:;
      }
    else
      {
/* #line 3131 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2322;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3134, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2322:;
	  }
      }
  }
  switch (TREE_CODE (_p1))
    {
    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 3160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
/* #line 3160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
				{
/* #line 3161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (tree_int_cst_sgn (captures[2]) > 0
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2323;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3162, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[0];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail2323:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2324;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3163, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[1];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail2324:;
				    }
				}
			    }
			    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 3160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
/* #line 3160 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
				{
/* #line 3161 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (tree_int_cst_sgn (captures[2]) > 0
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2325;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3162, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[0];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail2325:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2326;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3163, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[1];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail2326:;
				    }
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    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 ADDR_EXPR:
					    {
					      {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
						if (gimple_simplify_76 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
				if (gimple_simplify_281 (res_op, seq, valueize, type, captures, MIN_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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2327;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2327;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2327:;
				      }
				  }
			          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 3235 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_121 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2328;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2328;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2328;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2328:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2329;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2329;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2329;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2329:;
		  }
	          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 ADDR_EXPR:
			    {
			      {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
				if (gimple_simplify_139 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
		if (gimple_simplify_15 (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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2330;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2330;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2330;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2330:;
		  }
	          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (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 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 3109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_177 (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 3109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_177 (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 3109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_177 (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 3109 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
			if (gimple_simplify_177 (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 3113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_421 (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 3113 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_421 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 3138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3138 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2331;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3141, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2331:;
      }
    else
      {
/* #line 3142 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2332;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3145, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2332:;
	  }
      }
  }
  switch (TREE_CODE (_p1))
    {
    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 3151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
/* #line 3151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
				{
/* #line 3152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (tree_int_cst_sgn (captures[2]) > 0
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2333;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3153, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[1];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail2333:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2334;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3154, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[0];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail2334:;
				    }
				}
			    }
			    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 3151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
/* #line 3151 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
				{
/* #line 3152 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (tree_int_cst_sgn (captures[2]) > 0
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2335;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3153, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[1];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail2335:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2336;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3154, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[0];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail2336:;
				    }
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    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 ADDR_EXPR:
					    {
					      {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
						if (gimple_simplify_76 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
				if (gimple_simplify_281 (res_op, seq, valueize, type, captures, MAX_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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2337;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2337;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2337:;
				      }
				  }
			          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 3235 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_121 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2338;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2338;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2338;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2338:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2339;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2339;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2339;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2339:;
		  }
	          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 ADDR_EXPR:
			    {
			      {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
				if (gimple_simplify_139 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 3171 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
		if (gimple_simplify_15 (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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2340;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2340;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2340;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2340:;
		  }
	          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2341;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2341;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2341:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2342;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2342;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2342:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2343;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2343;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2343:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF16))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF16))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2344;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2344;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2344:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2345;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2345;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2345:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2346;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2346;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2346:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2347;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2347;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2347:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2348;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2348;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2348:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2349;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2349;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2349:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2350;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2350;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2350:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_39 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2351;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2351;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2351:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2352;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2352;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2352:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2353;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2353;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2353:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2354;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2354;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2354:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF16))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF16))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2355;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2355;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2355:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2356;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2356;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2356:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2357;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2357;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2357:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2358;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2358;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2358:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2359;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2359;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2359:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2360;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2360;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2360:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2361;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2361;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2361:;
				      }
				  }
			          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 3101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_146 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3205 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_277 (res_op, seq, valueize, type, captures, CFN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3213 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_207 (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 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3225 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2362;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3228, __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_fail2362;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2362:;
				      }
				  }
			          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 3327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_116 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3374 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_214 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3377 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_181 (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 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (gimple_simplify_361 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_382 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
	    return true;
	}
        break;
      }
    case INTEGER_CST:
      {
	{
/* #line 3406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  gimple_seq *lseq = seq;
	  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2363;
	  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3406, __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_fail2363:;
	}
        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 3414 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_334 (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 3327 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_116 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3374 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_214 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3377 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_181 (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 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (gimple_simplify_361 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 3383 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_382 (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 3414 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_334 (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 3919 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						gimple_seq *lseq = seq;
						if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2364;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3919, __FILE__, __LINE__);
						{
						  tree tem;
						  tem = captures[0];
						  res_op->set_value (tem);
						  return true;
						}
next_after_fail2364:;
					      }
					    }
				        }
				      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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2365;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2365;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2365;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2365:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2366;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2366;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2366;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2366:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2367;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2367;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2367;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2367:;
		  }
	          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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, UNORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, UNORDERED_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_413 (res_op, seq, valueize, type, captures, UNORDERED_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 5749 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 5749 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
)
      {
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2368;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5750, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  constant_boolean_node (true, type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2368:;
      }
    else
      {
/* #line 5751 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2369;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5752, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  constant_boolean_node (false, type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2369:;
	  }
      }
  }
  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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2370;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2370;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2370;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2370:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2371;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2371;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2371;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2371:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2372;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2372;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2372;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2372:;
		  }
	          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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, ORDERED_EXPR, ORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, ORDERED_EXPR, ORDERED_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_413 (res_op, seq, valueize, type, captures, ORDERED_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 5758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 5758 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
)
      {
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2373;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5759, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  constant_boolean_node (false, type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2373:;
      }
    else
      {
/* #line 5760 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2374;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5761, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  constant_boolean_node (true, type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2374:;
	  }
      }
  }
  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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2375;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2375;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2375;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2375:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2376;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2376;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2376;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2376:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2377;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2377;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2377;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2377:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 4776 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_482 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, UNLT_EXPR, UNGT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, UNLT_EXPR, UNGT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_413 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2378;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2378;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2378;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2378:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2379;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2379;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2379;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2379:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2380;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2380;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2380;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2380:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 4772 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_469 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, UNLE_EXPR, UNGE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, UNLE_EXPR, UNGE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_413 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2381;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2381;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2381;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2381:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2382;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2382;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2382;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2382:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2383;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2383;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2383;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2383:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 4776 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_482 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, UNGT_EXPR, UNLT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, UNGT_EXPR, UNLT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_413 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2384;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2384;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2384;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2384:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2385;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2385;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2385;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2385:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2386;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2386;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2386;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2386:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 4772 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_469 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, UNGE_EXPR, UNLE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, UNGE_EXPR, UNLE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_413 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2387;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2387;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2387;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2387:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2388;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2388;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2388;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2388:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2389;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2389;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2389;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2389:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 4772 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_469 (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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, UNEQ_EXPR, UNEQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, UNEQ_EXPR, UNEQ_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_413 (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 4096 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[4])))
					  lseq = NULL;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2390;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4096, __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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2390;
					    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 (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
					    if (!_r1) goto next_after_fail2390;
					    res_op->ops[2] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2390:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4101 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2391;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4101, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2391;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2391;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2391:;
		  }
	          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 4104 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[1])))
		      lseq = NULL;
		    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2392;
		    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4104, __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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2392;
			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 (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail2392;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail2392:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 4779 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4779 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (!flag_trapping_math || !tree_expr_maybe_nan_p (captures[0])
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2393;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4780, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  constant_boolean_node (false, type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2393:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 5082 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_103 (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 5302 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, LTGT_EXPR, LTGT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5308 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_288 (res_op, seq, valueize, type, captures, LTGT_EXPR, LTGT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5740 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_413 (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 5896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_217 (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 5903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
		    if (gimple_simplify_346 (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 5896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_217 (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 5903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
		    if (gimple_simplify_346 (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 5896 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_217 (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 5903 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
		    if (gimple_simplify_346 (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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2394;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2394:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2395;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2395:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2396;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2396:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2397;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2397:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2398;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2398:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2399;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2399:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2400;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2400:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2401;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2401:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2402;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2402:;
	    }
	}
        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 6234 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6238 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_484 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6242 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2403;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6243, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2403:;
	    }
	}
        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2404;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2404;
														_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_fail2404;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2404:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2405;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2405;
														  _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_fail2405;
														_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_fail2405;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2405:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2406;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2406;
														_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_fail2406;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2406:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2407;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2407;
														  _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_fail2407;
														_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_fail2407;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2407:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2408;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2408;
														_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_fail2408;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2408:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2409;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2409;
														  _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_fail2409;
														_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_fail2409;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2409:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2410;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2410;
														_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_fail2410;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2410:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2411;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2411;
														  _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_fail2411;
														_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_fail2411;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2411:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2412;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2412;
														_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_fail2412;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2412:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2413;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2413;
														  _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_fail2413;
														_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_fail2413;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2413:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2414;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2414;
														_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_fail2414;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2414:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2415;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2415;
														  _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_fail2415;
														_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_fail2415;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2415:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2416;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2416;
														_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_fail2416;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2416:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2417;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2417;
														  _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_fail2417;
														_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_fail2417;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2417:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2418;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2418;
														_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_fail2418;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2418:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2419;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2419;
														  _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_fail2419;
														_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_fail2419;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2419:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2420;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2420;
														_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_fail2420;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2420:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2421;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2421;
														  _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_fail2421;
														_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_fail2421;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2421:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2422;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2422;
														_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_fail2422;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2422:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2423;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2423;
														  _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_fail2423;
														_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_fail2423;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2423:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2424;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2424;
														_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_fail2424;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2424:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2425;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2425;
														  _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_fail2425;
														_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_fail2425;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2425:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2426;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2426;
														_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_fail2426;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2426:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2427;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2427;
														  _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_fail2427;
														_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_fail2427;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2427:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2428;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2428;
														_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_fail2428;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2428:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2429;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2429;
														  _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_fail2429;
														_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_fail2429;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2429:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
										      const enum tree_code cmp = LE_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2430;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2430;
														_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_fail2430;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2430:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2431;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2431;
														  _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_fail2431;
														_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_fail2431;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2431:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2432;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2432;
														_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_fail2432;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2432:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2433;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2433;
														  _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_fail2433;
														_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_fail2433;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2433:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        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 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
										      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
										      const enum tree_code cmp = LT_EXPR;
/* #line 7514 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7518 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
 offset_int rhs = off * 2;
/* #line 7521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 7525 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7527 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2434;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7528, __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_fail2434;
														_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_fail2434;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2434:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2435;
													  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7532, __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_fail2435;
														  _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_fail2435;
														_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_fail2435;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail2435:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    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 INTEGER_CST:
      {
	{
/* #line 4070 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4070 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (integer_zerop (captures[0])
)
	    {
/* #line 4071 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2436;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4072, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[2];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2436:;
		}
	    }
	  else
	    {
/* #line 4073 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2437;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4074, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[1];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2437:;
		}
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	switch (TREE_CODE (_p2))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4241 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		if (integer_zerop (captures[2])
)
		  {
/* #line 4244 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (integer_onep (captures[1])
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2438;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4245, __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_fail2438;
			      }
			    else
			      _r1 = _o1[0];
			    res_op->ops[0] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail2438:;
		      }
		    else
		      {
/* #line 4247 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (INTEGRAL_TYPE_P (type) && integer_pow2p (captures[1])
)
			  {
			    {
/* #line 4248 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree shift = build_int_cst (integer_type_node, tree_log2 (captures[1]));
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2439;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4251, __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_fail2439;
				        }
				      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_fail2439;
				      }
				    else
				      _r1 = _o1[0];
				    res_op->ops[0] = _r1;
				  }
				  res_op->ops[1] =  shift;
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail2439:;
			    }
			  }
			else
			  {
/* #line 4254 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if (INTEGRAL_TYPE_P (type) && integer_all_onesp (captures[1])
)
			      {
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2440;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4255, __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_fail2440;
				        }
				      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_fail2440;
				      }
				    else
				      _r1 = _o1[0];
				    res_op->ops[0] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail2440:;
			      }
			  }
		      }
		  }
		else
		  {
/* #line 4256 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (integer_zerop (captures[1])
)
		      {
			{
/* #line 4257 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree booltrue = constant_boolean_node (true, boolean_type_node);
/* #line 4262 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    if (integer_onep (captures[2])
)
			      {
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2441;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4263, __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_fail2441;
				        }
				      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_fail2441;
				    res_op->ops[0] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail2441:;
			      }
			    else
			      {
/* #line 4265 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				if (INTEGRAL_TYPE_P (type) && integer_pow2p (captures[2])
)
				  {
				    {
/* #line 4266 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree shift = build_int_cst (integer_type_node, tree_log2 (captures[2]));
					gimple_seq *lseq = seq;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2442;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4269, __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_fail2442;
						  }
						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_fail2442;
					      _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_fail2442;
					      }
					    else
					      _r1 = _o1[0];
					    res_op->ops[0] = _r1;
					  }
					  res_op->ops[1] =  shift;
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2442:;
				    }
				  }
				else
				  {
/* #line 4273 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    if (INTEGRAL_TYPE_P (type) && integer_all_onesp (captures[2])
)
				      {
					gimple_seq *lseq = seq;
					if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2443;
					if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4274, __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_fail2443;
						  }
						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_fail2443;
					      _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_fail2443;
					      }
					    else
					      _r1 = _o1[0];
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail2443:;
				      }
				  }
			      }
			}
		      }
		  }
	      }
	      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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_285 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_285 (res_op, seq, valueize, type, captures, LT_EXPR, MINUS_EXPR))
							    return true;
							}
						        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 (_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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_285 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_285 (res_op, seq, valueize, type, captures, LE_EXPR, MINUS_EXPR))
							    return true;
							}
						        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 (_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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_285 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_285 (res_op, seq, valueize, type, captures, GT_EXPR, MINUS_EXPR))
							    return true;
							}
						        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 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 4482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								if (gimple_simplify_406 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_285 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_285 (res_op, seq, valueize, type, captures, GE_EXPR, MINUS_EXPR))
							    return true;
							}
						        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 (_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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_48 (res_op, seq, valueize, type, captures, EQ_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 (_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 4466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
						    if (gimple_simplify_356 (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 4475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
						    if (gimple_simplify_143 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        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);
		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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_285 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_285 (res_op, seq, valueize, type, captures, LT_EXPR, MINUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      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);
		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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_285 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_285 (res_op, seq, valueize, type, captures, LE_EXPR, MINUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  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);
		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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_285 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_285 (res_op, seq, valueize, type, captures, GT_EXPR, MINUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
		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 4482 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
							      if (gimple_simplify_406 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_285 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_48 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_285 (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 4384 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_285 (res_op, seq, valueize, type, captures, GE_EXPR, MINUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  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);
		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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_48 (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 4301 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_48 (res_op, seq, valueize, type, captures, EQ_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);
		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 4466 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
						  if (gimple_simplify_356 (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 4475 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
						  if (gimple_simplify_143 (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 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 4489 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2444;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __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_fail2444:;
		      }
		    }
	          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 4492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2445;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4492, __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_fail2445:;
		      }
		    }
		  {
/* #line 4500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
/* #line 4500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (inverse_conditions_p (captures[0], captures[2])
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2446;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4501, __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_fail2446:;
		      }
		  }
	          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 4504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
/* #line 4504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (inverse_conditions_p (captures[0], captures[1])
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2447;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4505, __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_fail2447:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
    {
      {
/* #line 4510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2448;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4510, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2448:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						if (gimple_simplify_68 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		      if (integer_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 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						if (gimple_simplify_186 (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 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						if (gimple_simplify_42 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		      if (integer_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 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						if (gimple_simplify_164 (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 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_95 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			if (integer_zerop (_p2))
			  {
			    {
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      if (gimple_simplify_37 (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 5539 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						      if (gimple_simplify_292 (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 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_173 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			if (integer_zerop (_p2))
			  {
			    {
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      if (gimple_simplify_463 (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 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_249 (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 5506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					    if (gimple_simplify_221 (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 5521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
					    if (gimple_simplify_353 (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 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_355 (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 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_123 (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 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_99 (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 5506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					    if (gimple_simplify_221 (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 5521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
					    if (gimple_simplify_353 (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 5570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
				  if (gimple_simplify_240 (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 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
					      if (gimple_simplify_68 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		    if (integer_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 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
					      if (gimple_simplify_186 (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 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
					      if (gimple_simplify_42 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		    if (integer_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 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
					      if (gimple_simplify_164 (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 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_95 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      if (integer_zerop (_p2))
			{
			  {
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    if (gimple_simplify_37 (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 5539 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						    if (gimple_simplify_292 (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 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_173 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      if (integer_zerop (_p2))
			{
			  {
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    if (gimple_simplify_463 (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 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_249 (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 5506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					  if (gimple_simplify_221 (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 5521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
					  if (gimple_simplify_353 (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 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_355 (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 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_123 (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 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_99 (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 5506 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					  if (gimple_simplify_221 (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 5521 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
					  if (gimple_simplify_353 (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 5570 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
				if (gimple_simplify_240 (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 4515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2449;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4515, __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_fail2449:;
	  }
        }
}
}
  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 4190 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _p2 };
/* #line 4190 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2450;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4191, __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_fail2450;
				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_fail2450:;
			  }
		      }
		    }
		  if (integer_all_onesp (_q21))
		    {
		      {
/* #line 4194 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q22, _p1, _p2 };
/* #line 4194 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2451;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4195, __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_fail2451;
				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_fail2451:;
			  }
		      }
		    }
		  if (integer_zerop (_q21))
		    {
		      {
/* #line 4198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q22, _p1, _p2 };
/* #line 4198 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2452;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4199, __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_fail2452;
				  _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_fail2452;
				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_fail2452:;
			  }
		      }
		    }
		  if (integer_all_onesp (_q22))
		    {
		      {
/* #line 4202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _p2 };
/* #line 4202 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2453;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4203, __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_fail2453;
				  _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_fail2453;
				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_fail2453:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 4077 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4077 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  if (integer_all_onesp (captures[0])
)
	    {
	      gimple_seq *lseq = seq;
	      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2454;
	      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4078, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[1];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2454:;
	    }
	  else
	    {
/* #line 4079 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (integer_zerop (captures[0])
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2455;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4080, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[2];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2455:;
		}
	    }
	}
        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 4208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4208 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2456;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4209, __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_fail2456;
				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_fail2456:;
			  }
		      }
		    }
	          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 4212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q42 };
/* #line 4212 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2457;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4213, __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_fail2457;
				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_fail2457:;
			  }
		      }
		    }
	          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 4216 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4216 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2458;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4217, __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_fail2458;
				  _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_fail2458;
				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_fail2458:;
			  }
		      }
		    }
	          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 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
/* #line 4220 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2459;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4221, __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_fail2459;
				  _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_fail2459;
				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_fail2459:;
			  }
		      }
		    }
	          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 4489 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2460;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4489, __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_fail2460:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	switch (TREE_CODE (_p2))
	  {
	  case VECTOR_CST:
	    {
	      {
/* #line 4227 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4227 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		if (VECTOR_BOOLEAN_TYPE_P (type)
 && types_match (type, TREE_TYPE (captures[0]))
)
		  {
/* #line 4229 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2461;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4230, __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_fail2461:;
		      }
		    else
		      {
/* #line 4231 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2462;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4232, __FILE__, __LINE__);
			    {
			      tree tem;
			      tem = captures[0];
			      res_op->set_value (tem);
			      return true;
			    }
next_after_fail2462:;
			  }
		      }
		  }
	      }
	      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 4492 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2463;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4492, __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_fail2463:;
		      }
		    }
		  {
/* #line 4500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
/* #line 4500 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (inverse_conditions_p (captures[0], captures[2])
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2464;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4501, __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_fail2464:;
		      }
		  }
	          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 4504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
/* #line 4504 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (inverse_conditions_p (captures[0], captures[1])
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2465;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4505, __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_fail2465:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
    {
      {
/* #line 4510 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2466;
	if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4510, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail2466:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    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 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						const enum tree_code cmp = EQ_EXPR;
/* #line 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2467;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4537, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[1];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail2467:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		      if (integer_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 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						const enum tree_code cmp = EQ_EXPR;
/* #line 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2468;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4541, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[1];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail2468:;
						  }
					      }
					    }
				          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 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						const enum tree_code cmp = UNEQ_EXPR;
/* #line 4536 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2469;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4537, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[1];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail2469:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		      if (integer_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 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						const enum tree_code cmp = UNEQ_EXPR;
/* #line 4540 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2470;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4541, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[1];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail2470:;
						  }
					      }
					    }
				          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 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = NE_EXPR;
/* #line 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2471;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4548, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[0];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail2471:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			if (integer_zerop (_p2))
			  {
			    {
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      const enum tree_code cmp = NE_EXPR;
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (!HONOR_SIGNED_ZEROS (type)
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2472;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4552, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem = captures[0];
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail2472:;
				}
			    }
			  }
		        }
		    }
	          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 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = LTGT_EXPR;
/* #line 4547 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2473;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4548, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[0];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail2473:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			if (integer_zerop (_p2))
			  {
			    {
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      const enum tree_code cmp = LTGT_EXPR;
/* #line 4551 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			      if (!HONOR_SIGNED_ZEROS (type)
)
				{
				  gimple_seq *lseq = seq;
				  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2474;
				  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4552, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem = captures[0];
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail2474:;
				}
			    }
			  }
		        }
		    }
	          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 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = GE_EXPR;
/* #line 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2475;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4560, __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_fail2475:;
						  }
					      }
					    }
				          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 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = GT_EXPR;
/* #line 4558 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2476;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4560, __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_fail2476:;
						  }
					      }
					    }
				          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 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = LE_EXPR;
/* #line 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
						  {
/* #line 4567 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
						      {
							{
/* #line 4569 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
							    gimple_seq *lseq = seq;
							    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2477;
							    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4572, __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_fail2477;
								  _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_fail2477;
								res_op->ops[0] = _r1;
							      }
							      res_op->resimplify (lseq, valueize);
							      return true;
							    }
next_after_fail2477:;
							}
						      }
						    else
						      {
							gimple_seq *lseq = seq;
							if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2478;
							if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4573, __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_fail2478;
							    res_op->ops[0] = _r1;
							  }
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail2478:;
						      }
						  }
					      }
					    }
				          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 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = LT_EXPR;
/* #line 4565 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
						  {
/* #line 4567 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						    if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
						      {
							{
/* #line 4569 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
							    gimple_seq *lseq = seq;
							    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2479;
							    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4572, __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_fail2479;
								  _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_fail2479;
								res_op->ops[0] = _r1;
							      }
							      res_op->resimplify (lseq, valueize);
							      return true;
							    }
next_after_fail2479:;
							}
						      }
						    else
						      {
							gimple_seq *lseq = seq;
							if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2480;
							if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4573, __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_fail2480;
							    res_op->ops[0] = _r1;
							  }
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail2480:;
						      }
						  }
					      }
					    }
				          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 4515 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2481;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4515, __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_fail2481:;
	  }
        }
}
}
  switch (TREE_CODE (_p1))
    {
    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 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _p2 };
					{
/* #line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7373 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2482;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7375, __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_fail2482:;
					      }
					}
				      }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _p2 };
		    {
/* #line 7372 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7373 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2483;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7375, __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_fail2483:;
			  }
		    }
		  }
	          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 7378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50 };
					{
/* #line 7378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2484;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7381, __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_fail2484;
						    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_fail2484:;
					      }
					}
				      }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40 };
		    {
/* #line 7378 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7379 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2485;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7381, __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_fail2485;
				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_fail2485:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2486;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2486;
						      _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_fail2486;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2486:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2487;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2487;
						      _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_fail2487;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2487:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2488;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2488;
						      _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_fail2488;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2488:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2489;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2489;
						      _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_fail2489;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2489:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2490;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2490;
						      _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_fail2490;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2490:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2491;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2491;
						      _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_fail2491;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2491:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2492;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2492;
						      _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_fail2492;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2492:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2493;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2493;
						      _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_fail2493;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2493:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2494;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2494;
						      _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_fail2494;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2494:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2495;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2495;
						      _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_fail2495;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2495:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2496;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2496;
						      _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_fail2496;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2496:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2497;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2497;
						      _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_fail2497;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2497:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2498;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2498;
						      _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_fail2498;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2498:;
					      }
					}
				      }
				      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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					  {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2499;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2499;
							_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_fail2499;
						      res_op->ops[0] = _r1;
						    }
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2499:;
						}
					  }
					}
				      }
				    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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					  {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2500;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2500;
							_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_fail2500;
						      res_op->ops[0] = _r1;
						    }
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2500:;
						}
					  }
					}
				      }
				    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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2501;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2501;
				  _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_fail2501;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2501:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2502;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2502;
				  _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_fail2502;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2502:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2503;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2503;
				  _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_fail2503;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2503:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2504;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2504;
				  _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_fail2504;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2504:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2505;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2505;
				  _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_fail2505;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2505:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2506;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2506;
				  _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_fail2506;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2506:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2507;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2507;
				  _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_fail2507;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2507:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2508;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2508;
				  _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_fail2508;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2508:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2509;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2509;
				  _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_fail2509;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2509:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2510;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2510;
				  _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_fail2510;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2510:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2511;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2511;
				  _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_fail2511;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2511:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2512;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2512;
				  _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_fail2512;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2512:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2513;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2513;
				  _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_fail2513;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2513:;
			  }
		    }
		  }
	          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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		      {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2514;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2514;
				    _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_fail2514;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2514:;
			    }
		      }
		    }
	          }
	        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 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		      {
/* #line 7405 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7406 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2515;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __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_fail2515;
				    _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_fail2515;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2515:;
			    }
		      }
		    }
	          }
	        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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2516;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2516;
						      _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_fail2516;
						      _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_fail2516;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2516:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2517;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2517;
						      _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_fail2517;
						      _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_fail2517;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2517:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2518;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2518;
						      _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_fail2518;
						      _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_fail2518;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2518:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2519;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2519;
						      _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_fail2519;
						      _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_fail2519;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2519:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2520;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2520;
						      _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_fail2520;
						      _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_fail2520;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2520:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2521;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2521;
						      _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_fail2521;
						      _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_fail2521;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2521:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2522;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2522;
						      _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_fail2522;
						      _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_fail2522;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2522:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2523;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2523;
						      _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_fail2523;
						      _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_fail2523;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2523:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2524;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2524;
						      _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_fail2524;
						      _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_fail2524;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2524:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2525;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2525;
						      _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_fail2525;
						      _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_fail2525;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2525:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2526;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2526;
						      _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_fail2526;
						      _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_fail2526;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2526:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2527;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2527;
						      _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_fail2527;
						      _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_fail2527;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2527:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2528;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2528;
						      _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_fail2528;
						      _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_fail2528;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail2528:;
					      }
					}
				      }
				      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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					  {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2529;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2529;
							_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_fail2529;
							_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_fail2529;
						      res_op->ops[0] = _r1;
						    }
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2529:;
						}
					  }
					}
				      }
				    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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					  {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2530;
						  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2530;
							_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_fail2530;
							_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_fail2530;
						      res_op->ops[0] = _r1;
						    }
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2530:;
						}
					  }
					}
				      }
				    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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2531;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2531;
				  _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_fail2531;
				  _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_fail2531;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2531:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2532;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2532;
				  _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_fail2532;
				  _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_fail2532;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2532:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2533;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2533;
				  _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_fail2533;
				  _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_fail2533;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2533:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2534;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2534;
				  _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_fail2534;
				  _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_fail2534;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2534:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2535;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2535;
				  _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_fail2535;
				  _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_fail2535;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2535:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2536;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2536;
				  _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_fail2536;
				  _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_fail2536;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2536:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2537;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2537;
				  _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_fail2537;
				  _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_fail2537;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2537:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2538;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2538;
				  _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_fail2538;
				  _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_fail2538;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2538:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2539;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2539;
				  _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_fail2539;
				  _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_fail2539;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2539:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2540;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2540;
				  _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_fail2540;
				  _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_fail2540;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2540:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2541;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2541;
				  _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_fail2541;
				  _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_fail2541;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2541:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2542;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2542;
				  _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_fail2542;
				  _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_fail2542;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2542:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2543;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2543;
				  _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_fail2543;
				  _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_fail2543;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2543:;
			  }
		    }
		  }
	          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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		      {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2544;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2544;
				    _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_fail2544;
				    _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_fail2544;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2544:;
			    }
		      }
		    }
	          }
	        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 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		      {
/* #line 7412 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7413 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2545;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7416, __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_fail2545;
				    _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_fail2545;
				    _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_fail2545;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail2545:;
			    }
		      }
		    }
	          }
	        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 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42, _p2 };
					  if (gimple_simplify_176 (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 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42, _p2 };
					  if (gimple_simplify_176 (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 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42, _p2 };
					  if (gimple_simplify_176 (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 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42, _p2 };
					  if (gimple_simplify_176 (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 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
		      if (gimple_simplify_176 (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 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
		      if (gimple_simplify_176 (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 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
		      if (gimple_simplify_176 (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 7423 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
		      if (gimple_simplify_176 (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 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51, _q52 };
					  if (gimple_simplify_390 (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 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51, _q52 };
					  if (gimple_simplify_390 (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 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51, _q52 };
					  if (gimple_simplify_390 (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 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51, _q52 };
					  if (gimple_simplify_390 (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 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41, _q42 };
		      if (gimple_simplify_390 (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 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41, _q42 };
		      if (gimple_simplify_390 (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 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41, _q42 };
		      if (gimple_simplify_390 (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 7430 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41, _q42 };
		      if (gimple_simplify_390 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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 7443 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_373 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
					{
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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);
		    {
/* #line 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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 7448 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_462 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
					      if (gimple_simplify_238 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
					      if (gimple_simplify_238 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
					      if (gimple_simplify_238 (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 ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
					      if (gimple_simplify_238 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
			  if (gimple_simplify_238 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
			  if (gimple_simplify_238 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
			  if (gimple_simplify_238 (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 ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 7457 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
			  if (gimple_simplify_238 (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);
					{
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
					  if (gimple_simplify_248 (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);
					{
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
					  if (gimple_simplify_248 (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);
					{
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
					  if (gimple_simplify_248 (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);
					{
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
					  if (gimple_simplify_248 (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);
		    {
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		      if (gimple_simplify_248 (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);
		    {
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		      if (gimple_simplify_248 (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);
		    {
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		      if (gimple_simplify_248 (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);
		    {
/* #line 7462 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		      if (gimple_simplify_248 (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 6854 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1, _p2 };
				gimple_seq *lseq = seq;
				if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2546;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6854, __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_fail2546:;
			      }
			    }
		        }
		    }
	          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 6858 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2547;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6858, __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_fail2547:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (_p2))
    {
      {
/* #line 6862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6862 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (tree_int_cst_equal (captures[1], TYPE_SIZE (TREE_TYPE (captures[0])))
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2548;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6863, __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_fail2548:;
	  }
      }
    }
  {
/* #line 6868 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 6868 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6871 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	if (integer_zerop (captures[2])
)
	  {
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2549;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6872, __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_fail2549;
		res_op->ops[0] = _r1;
	      }
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail2549:;
	  }
	else
	  {
/* #line 6873 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    if (tree_int_cst_equal (captures[2], TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0]))))
)
	      {
		gimple_seq *lseq = seq;
		if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2550;
		if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6874, __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_fail2550;
		    res_op->ops[0] = _r1;
		  }
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail2550:;
	      }
	  }
      }
    else
      {
/* #line 6875 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2551;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6894, __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_fail2551:;
	  }
      }
  }
  switch (TREE_CODE (_p0))
    {
    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 6900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 6900 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6907 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6916 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6921 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6937 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    if (multiple_p (idx, k, &elt) && multiple_p (n, k, &count)
)
				      {
/* #line 6938 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					if (CONSTRUCTOR_NELTS (ctor) == 0
)
					  {
					    gimple_seq *lseq = seq;
					    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2552;
					    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6939, __FILE__, __LINE__);
					    {
					      tree tem;
					      tem =  build_zero_cst (type);
					      res_op->set_value (tem);
					      return true;
					    }
next_after_fail2552:;
					  }
					else
					  {
/* #line 6940 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    if (count == 1
)
					      {
/* #line 6941 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (elt < CONSTRUCTOR_NELTS (ctor)
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2553;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6942, __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_fail2553:;
						  }
						else
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2554;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6943, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem =  build_zero_cst (type);
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail2554:;
						  }
					      }
					    else
					      {
/* #line 6947 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (single_use (captures[0])
)
						  {
						    {
/* #line 6948 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2555;
							if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6970, __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_fail2555:;
						    }
						  }
					      }
					  }
				      }
				    else
				      {
/* #line 6972 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					if (k.is_constant (&const_k)
 && idx + n <= (idx / const_k + 1) * const_k
)
					  {
/* #line 6975 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
					    if (CONSTRUCTOR_NELTS (ctor) <= idx / const_k
)
					      {
						gimple_seq *lseq = seq;
						if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2556;
						if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6976, __FILE__, __LINE__);
						{
						  tree tem;
						  tem =  build_zero_cst (type);
						  res_op->set_value (tem);
						  return true;
						}
next_after_fail2556:;
					      }
					    else
					      {
/* #line 6977 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
						if (n == const_k
)
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2557;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6978, __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_fail2557:;
						  }
						else
						  {
						    gimple_seq *lseq = seq;
						    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2558;
						    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6979, __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_fail2558:;
						  }
					      }
					  }
				      }
				}
			      }
			}
		      }
		  }
	          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 6987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1, _p2 };
		    {
/* #line 6987 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 6996 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			if (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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2559;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6999, __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_fail2559:;
			  }
			else
			  {
/* #line 7002 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2560;
				if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7006, __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_fail2560:;
			      }
			  }
		    }
		  }
	          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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_256 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_171 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_256 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    if (gimple_simplify_192 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_171 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_256 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_171 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_256 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    if (gimple_simplify_192 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_171 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_256 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_171 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_256 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    if (gimple_simplify_192 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_171 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_256 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_171 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_256 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    if (gimple_simplify_192 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_171 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_106 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_387 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_106 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (canonicalize_math_after_vectorization_p ()
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2561;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7029, __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_fail2561:;
		      }
		  }
	          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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_387 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_213 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_41 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_213 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (canonicalize_math_after_vectorization_p ()
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2562;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7043, __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_fail2562:;
		      }
		  }
	          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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_41 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_179 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_369 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_179 (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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
/* #line 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		    if (canonicalize_math_after_vectorization_p ()
)
		      {
			gimple_seq *lseq = seq;
			if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2563;
			if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7057, __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_fail2563:;
		      }
		  }
	          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 7008 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_369 (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 (_p2))
    {
    case VECTOR_CST:
      {
	{
/* #line 7575 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
	  {
/* #line 7575 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 tree op0 = captures[0], op1 = captures[1], op2 = captures[2];
 vec_perm_builder builder;
 if (!tree_to_vec_perm_builder (&builder, op2))
 return NULL_TREE;
 poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (type);
 bool single_arg = (op0 == op1);
 vec_perm_indices sel (builder, single_arg ? 1 : 2, nelts);
/* #line 7589 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	      if (sel.series_p (0, 1, 0, 1)
)
		{
		  gimple_seq *lseq = seq;
		  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2564;
		  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7590, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  op0;
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail2564:;
		}
	      else
		{
/* #line 7591 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
		  if (sel.series_p (0, 1, nelts, 1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2565;
		      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7592, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  op1;
			res_op->set_value (tem);
			return true;
		      }
next_after_fail2565:;
		    }
		  else
		    {
		      {
/* #line 7593 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 7623 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.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 (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2566;
			      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7628, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  t;
				res_op->set_value (tem);
				return true;
			      }
next_after_fail2566:;
			    }
			  else
			    {
			      {
/* #line 7629 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
 bool changed = (op0 == op1 && !single_arg);
 tree ins = NULL_TREE;
 unsigned at = 0;
 if (TYPE_MODE (type) != 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 (TYPE_MODE (type), 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 (TYPE_MODE (type), 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 7701 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				  if (ins
)
				    {
				      gimple_seq *lseq = seq;
				      if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2567;
				      if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7702, __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_fail2567:;
				    }
				  else
				    {
/* #line 7704 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
				      if (changed
)
					{
					  gimple_seq *lseq = seq;
					  if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2568;
					  if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7705, __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_fail2568:;
					}
				    }
			      }
			    }
		      }
		    }
		}
	  }
	}
        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 7724 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p2 };
	    gimple_seq *lseq = seq;
	    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2569;
	    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7724, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail2569:;
	  }
        }
    }
  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_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 7477 "../../../../../../../work-shared/gcc-12.2.0-r0/gcc-12.2.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41 };
			    gimple_seq *lseq = seq;
			    if (__builtin_expect (!dbg_cnt (match), 0)) goto next_after_fail2570;
			    if (__builtin_expect (dump_file && (dump_flags & TDF_FOLDING), 0)) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7477, __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_fail2570;
				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_fail2570:;
			  }
		        }
		    }
	          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_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;
}
