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

#include "gimple-match-head.c"

bool
gimple_power_of_two_cand (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (do_valueize (valueize, t) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (t);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  switch (TREE_CODE (op0))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 367 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:367, %s:%d\n", __FILE__, __LINE__);
				  res_ops[0] = captures[0];
				  return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 365 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:365, %s:%d\n", __FILE__, __LINE__);
	  res_ops[0] = captures[0];
	  return true;
	}
        break;
      }
    default:;
    }
  return false;
}

bool
gimple_negate_expr_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (do_valueize (valueize, t) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (t);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      {
/* #line 846 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 846 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (!TYPE_OVERFLOW_SANITIZED (type))
			  {
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:845, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 838 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
/* #line 838 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if ((INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type)) || (!TYPE_OVERFLOW_SANITIZED (type) && may_negate_without_overflow_p (t)))
	    {
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:837, %s:%d\n", __FILE__, __LINE__);
	      return true;
	    }
	}
        break;
      }
    case FIXED_CST:
      {
	{
/* #line 843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:843, %s:%d\n", __FILE__, __LINE__);
	  return true;
	}
        break;
      }
    case REAL_CST:
      {
	{
/* #line 849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
/* #line 849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (t)))
	    {
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:848, %s:%d\n", __FILE__, __LINE__);
	      return true;
	    }
	}
        break;
      }
    case VECTOR_CST:
      {
	{
/* #line 854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
/* #line 854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (FLOAT_TYPE_P (TREE_TYPE (type)) || TYPE_OVERFLOW_WRAPS (type))
	    {
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:853, %s:%d\n", __FILE__, __LINE__);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

bool
gimple_truth_valued_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  tree type = TREE_TYPE (t);
  {
/* #line 934 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 934 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
      {
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:933, %s:%d\n", __FILE__, __LINE__);
	return true;
      }
  }
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (do_valueize (valueize, t) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (t);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case LT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNORDERED_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case ORDERED_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNLT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNLE_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNGT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNGE_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUTH_AND_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUTH_ANDIF_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUTH_OR_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUTH_ORIF_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUTH_XOR_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  {
/* #line 937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:937, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUTH_NOT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      {
/* #line 939 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:939, %s:%d\n", __FILE__, __LINE__);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_logical_inverted_value (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (do_valueize (valueize, t) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (t);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case TRUTH_NOT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      {
/* #line 941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:941, %s:%d\n", __FILE__, __LINE__);
			res_ops[0] = captures[0];
			return true;
		      }
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      if (gimple_truth_valued_p (op0, valueize))
			{
			  {
/* #line 943 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:943, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  if (integer_zerop (op1))
			    {
			      {
/* #line 945 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[1] ATTRIBUTE_UNUSED = { op0 };
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:945, %s:%d\n", __FILE__, __LINE__);
				res_ops[0] = captures[0];
				return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  if (gimple_truth_valued_p (op0, valueize))
			    {
			      if (integer_truep (op1))
				{
				  {
/* #line 947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:947, %s:%d\n", __FILE__, __LINE__);
				    res_ops[0] = captures[0];
				    return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  if (tree_swap_operands_p (op0, op1))
			    std::swap (op0, op1);
			  if (gimple_truth_valued_p (op0, valueize))
			    {
			      if (integer_truep (op1))
				{
				  {
/* #line 949 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:949, %s:%d\n", __FILE__, __LINE__);
				    res_ops[0] = captures[0];
				    return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_compositional_complex (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (do_valueize (valueize, t) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (t);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      switch (TREE_CODE (op0))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op0) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case COMPLEX_EXPR:
				    {
				      tree o20 = gimple_assign_rhs1 (def);
				      if ((o20 = do_valueize (valueize, o20)))
				        {
					  tree o21 = gimple_assign_rhs2 (def);
					  if ((o21 = do_valueize (valueize, o21)))
					    {
					      {
/* #line 1927 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1927, %s:%d\n", __FILE__, __LINE__);
						return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree op0 = gimple_assign_rhs1 (def);
		  if ((op0 = do_valueize (valueize, op0)))
		    {
		      tree op1 = gimple_assign_rhs2 (def);
		      if ((op1 = do_valueize (valueize, op1)))
		        {
			  {
/* #line 1927 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1927, %s:%d\n", __FILE__, __LINE__);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_double_value_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  tree type = TREE_TYPE (t);
  {
/* #line 3428 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 3428 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == double_type_node)
      {
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3427, %s:%d\n", __FILE__, __LINE__);
	return true;
      }
  }
  return false;
}

bool
gimple_float_value_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  tree type = TREE_TYPE (t);
  {
/* #line 3449 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 3449 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == float_type_node)
      {
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3448, %s:%d\n", __FILE__, __LINE__);
	return true;
      }
  }
  return false;
}

static bool
gimple_simplify_1 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (minmax))
{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1425, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_2 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  {
/* #line 2793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 int shift = wi::exact_log2 (captures[2]) - wi::exact_log2 (captures[1]);
/* #line 2796 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (shift > 0)
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2797, %s:%d\n", __FILE__, __LINE__);
	  *res_code = BIT_AND_EXPR;
	  {
	    tree ops1[2], res;
	    {
	      tree ops2[1], res;
	      ops2[0] = captures[0];
	      if (type != TREE_TYPE (ops2[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (ops2[0])))
		{
		  code_helper tem_code = NOP_EXPR;
		  tree tem_ops[3] = { ops2[0] };
		  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		  if (!res) return false;
	        }
	      else
	        res = ops2[0];
	      ops1[0] = res;
	    }
	    ops1[1] =  build_int_cst (integer_type_node, shift);
	    code_helper tem_code = LSHIFT_EXPR;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  res_ops[1] = captures[2];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2799, %s:%d\n", __FILE__, __LINE__);
	  *res_code = BIT_AND_EXPR;
	  {
	    tree ops1[1], res;
	    {
	      tree ops2[2], res;
	      ops2[0] = captures[0];
	      ops2[1] =  build_int_cst (integer_type_node, -shift);
	      code_helper tem_code = RSHIFT_EXPR;
	      tree tem_ops[3] = { ops2[0], ops2[1] };
	      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	      if (!res) return false;
	      ops1[0] = res;
	    }
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[0] = res;
	  }
	  res_ops[1] = captures[2];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
  }
  return false;
}

static bool
gimple_simplify_3 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (mod))
{
/* #line 324 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type) && wi::multiple_of_p (captures[1], captures[2], TYPE_SIGN (type)))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:327, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  build_zero_cst (type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_4 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1011, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[2], res;
	{
	  tree ops2[1], res;
	  ops2[0] = captures[3];
	  code_helper tem_code = BIT_NOT_EXPR;
	  tree tem_ops[3] = { ops2[0] };
	  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[0] = res;
	}
	ops1[1] = captures[0];
	code_helper tem_code = BIT_AND_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_5 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bit_op), enum tree_code ARG_UNUSED (shift))
{
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2])))
    {
      {
/* #line 1695 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1696, %s:%d\n", __FILE__, __LINE__);
	  *res_code = bit_op;
	  {
	    tree ops1[2], res;
	    {
	      tree ops2[1], res;
	      ops2[0] = captures[2];
	      if (type != TREE_TYPE (ops2[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (ops2[0])))
		{
		  code_helper tem_code = NOP_EXPR;
		  tree tem_ops[3] = { ops2[0] };
		  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		  if (!res) return false;
	        }
	      else
	        res = ops2[0];
	      ops1[0] = res;
	    }
	    ops1[1] = captures[4];
	    code_helper tem_code = shift;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  res_ops[1] =  mask;
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_6 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shiftrotate))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1518, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_7 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (outer_op))
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	{
	  {
/* #line 1228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree cst = const_binop (outer_op, type, captures[0], captures[2]);
/* #line 1229 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (cst && !TREE_OVERFLOW (cst))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1230, %s:%d\n", __FILE__, __LINE__);
		  *res_code = MINUS_EXPR;
		  res_ops[0] =  cst;
		  res_ops[1] = captures[1];
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_8 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 866 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!HONOR_SIGN_DEPENDENT_ROUNDING (element_mode (type)) && !HONOR_SIGNED_ZEROS (element_mode (type)))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:868, %s:%d\n", __FILE__, __LINE__);
      *res_code = MINUS_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[1];
	code_helper tem_code = NEGATE_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      res_ops[1] = captures[0];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_9 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type) && 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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2240, %s:%d\n", __FILE__, __LINE__);
      *res_code = MINUS_EXPR;
      res_ops[0] = captures[0];
      {
	tree ops1[1], res;
	{
	  tree ops2[3], res;
	  ops2[0] = captures[2];
	  ops2[0] = unshare_expr (ops2[0]);
	  {
	    tree ops3[1], res;
	    ops3[0] = captures[3];
	    code_helper tem_code = NEGATE_EXPR;
	    tree tem_ops[3] = { ops3[0] };
	    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops3[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops3[0]), tem_ops, lseq);
	    if (!res) return false;
	    ops2[1] = res;
	  }
	  ops2[2] = captures[4];
	  code_helper tem_code = VEC_COND_EXPR;
	  tree tem_ops[3] = { ops2[0], ops2[1], ops2[2] };
	  gimple_resimplify3 (lseq, &tem_code, TREE_TYPE (ops2[1]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[1]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[0] = res;
	}
	code_helper tem_code = VIEW_CONVERT_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_10 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (froms), combined_fn ARG_UNUSED (tos))
{
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ())
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3486, %s:%d\n", __FILE__, __LINE__);
      *res_code = tos;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_11 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3])) && tree_nop_conversion_p (type, TREE_TYPE (captures[6])))
    {
/* #line 814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:815, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[6];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:817, %s:%d\n", __FILE__, __LINE__);
	      *res_code = op;
	      {
		tree ops1[1], res;
		ops1[0] = captures[3];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[4];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_12 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree from_type = TREE_TYPE (captures[0]);
 tree c1_type = TREE_TYPE (captures[1]), c2_type = TREE_TYPE (captures[2]);
 enum tree_code code = ERROR_MARK;
 if (INTEGRAL_TYPE_P (from_type) && int_fits_type_p (captures[2], from_type) && (types_match (c1_type, from_type) || (TYPE_PRECISION (c1_type) > TYPE_PRECISION (from_type) && (TYPE_UNSIGNED (from_type) || TYPE_SIGN (c1_type) == TYPE_SIGN (from_type)))) && (types_match (c2_type, from_type) || (TYPE_PRECISION (c2_type) > TYPE_PRECISION (from_type) && (TYPE_UNSIGNED (from_type) || TYPE_SIGN (c2_type) == TYPE_SIGN (from_type))))) { if (cmp != EQ_EXPR) { if (wi::to_widest (captures[1]) == (wi::to_widest (captures[2]) - 1)) { if (cmp == LE_EXPR) code = LT_EXPR;
 if (cmp == GT_EXPR) code = GE_EXPR;
 } if (wi::to_widest (captures[1]) == (wi::to_widest (captures[2]) + 1)) { if (cmp == LT_EXPR) code = LE_EXPR;
 if (cmp == GE_EXPR) code = GT_EXPR;
 } if (code != ERROR_MARK || wi::to_widest (captures[2]) == wi::to_widest (captures[1])) { if (cmp == LT_EXPR || cmp == LE_EXPR) code = MIN_EXPR;
 if (cmp == GT_EXPR || cmp == GE_EXPR) code = MAX_EXPR;
 } } else if (int_fits_type_p (captures[1], from_type)) code = EQ_EXPR;
 }/* #line 2080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (code == MAX_EXPR)
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2081, %s:%d\n", __FILE__, __LINE__);
	  *res_code = NOP_EXPR;
	  {
	    tree ops1[2], res;
	    ops1[0] = captures[0];
	    {
	      tree ops2[1], res;
	      ops2[0] = captures[2];
	      if (TREE_TYPE (ops1[0]) != TREE_TYPE (ops2[0])
	          && !useless_type_conversion_p (TREE_TYPE (ops1[0]), TREE_TYPE (ops2[0])))
		{
		  code_helper tem_code = NOP_EXPR;
		  tree tem_ops[3] = { ops2[0] };
		  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		  if (!res) return false;
	        }
	      else
	        res = ops2[0];
	      ops1[1] = res;
	    }
	    code_helper tem_code = MAX_EXPR;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 2082 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (code == MIN_EXPR)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2083, %s:%d\n", __FILE__, __LINE__);
	      *res_code = NOP_EXPR;
	      {
		tree ops1[2], res;
		ops1[0] = captures[0];
		{
		  tree ops2[1], res;
		  ops2[0] = captures[2];
		  if (TREE_TYPE (ops1[0]) != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (TREE_TYPE (ops1[0]), TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[1] = res;
		}
		code_helper tem_code = MIN_EXPR;
		tree tem_ops[3] = { ops1[0], ops1[1] };
		gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		if (!res) return false;
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	  else
	    {
/* #line 2084 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (code == EQ_EXPR)
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2085, %s:%d\n", __FILE__, __LINE__);
		  *res_code = NOP_EXPR;
		  {
		    tree ops1[3], res;
		    {
		      tree ops2[2], res;
		      ops2[0] = captures[0];
		      {
			tree ops3[1], res;
			ops3[0] = captures[1];
			if (TREE_TYPE (ops2[0]) != TREE_TYPE (ops3[0])
			    && !useless_type_conversion_p (TREE_TYPE (ops2[0]), TREE_TYPE (ops3[0])))
			  {
			    code_helper tem_code = NOP_EXPR;
			    tree tem_ops[3] = { ops3[0] };
			    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
			    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
			    if (!res) return false;
			  }
			else
			  res = ops3[0];
			ops2[1] = res;
		      }
		      code_helper tem_code = EQ_EXPR;
		      tree tem_ops[3] = { ops2[0], ops2[1] };
		      gimple_resimplify2 (lseq, &tem_code, boolean_type_node, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, boolean_type_node, tem_ops, lseq);
		      if (!res) return false;
		      ops1[0] = res;
		    }
		    {
		      tree ops2[1], res;
		      ops2[0] = captures[1];
		      if (from_type != TREE_TYPE (ops2[0])
		          && !useless_type_conversion_p (from_type, TREE_TYPE (ops2[0])))
			{
			  code_helper tem_code = NOP_EXPR;
			  tree tem_ops[3] = { ops2[0] };
			  gimple_resimplify1 (lseq, &tem_code, from_type, tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, from_type, tem_ops, lseq);
			  if (!res) return false;
		        }
		      else
		        res = ops2[0];
		      ops1[1] = res;
		    }
		    {
		      tree ops2[1], res;
		      ops2[0] = captures[2];
		      if (from_type != TREE_TYPE (ops2[0])
		          && !useless_type_conversion_p (from_type, TREE_TYPE (ops2[0])))
			{
			  code_helper tem_code = NOP_EXPR;
			  tree tem_ops[3] = { ops2[0] };
			  gimple_resimplify1 (lseq, &tem_code, from_type, tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, from_type, tem_ops, lseq);
			  if (!res) return false;
		        }
		      else
		        res = ops2[0];
		      ops1[2] = res;
		    }
		    code_helper tem_code = COND_EXPR;
		    tree tem_ops[3] = { ops1[0], ops1[1], ops1[2] };
		    gimple_resimplify3 (lseq, &tem_code, TREE_TYPE (ops1[1]), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[1]), tem_ops, lseq);
		    if (!res) return false;
		    res_ops[0] = res;
		  }
		  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_13 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (div))
{
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (integer_pow2p (captures[2]) && tree_int_cst_sgn (captures[2]) > 0 && wi::add (captures[2], captures[1]) == 0 && tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:272, %s:%d\n", __FILE__, __LINE__);
      *res_code = RSHIFT_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[0] = res;
      }
      res_ops[1] =  build_int_cst (integer_type_node, wi::exact_log2 (captures[2]));
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_14 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op), enum tree_code ARG_UNUSED (rop))
{
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:741, %s:%d\n", __FILE__, __LINE__);
      *res_code = BIT_NOT_EXPR;
      {
	tree ops1[2], res;
	{
	  tree ops2[1], res;
	  ops2[0] = captures[0];
	  if (type != TREE_TYPE (ops2[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (ops2[0])))
	    {
	      code_helper tem_code = NOP_EXPR;
	      tree tem_ops[3] = { ops2[0] };
	      gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	      if (!res) return false;
	    }
	  else
	    res = ops2[0];
	  ops1[0] = res;
	}
	{
	  tree ops2[1], res;
	  ops2[0] = captures[1];
	  if (type != TREE_TYPE (ops2[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (ops2[0])))
	    {
	      code_helper tem_code = NOP_EXPR;
	      tree tem_ops[3] = { ops2[0] };
	      gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	      if (!res) return false;
	    }
	  else
	    res = ops2[0];
	  ops1[1] = res;
	}
	code_helper tem_code = rop;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_15 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1197, %s:%d\n", __FILE__, __LINE__);
	  res_ops[0] = captures[1];
	  *res_code = TREE_CODE (res_ops[0]);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_16 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (mod))
{
/* #line 309 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:310, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  build_zero_cst (type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_17 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 994 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:995, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[2], res;
	ops1[0] = captures[0];
	{
	  tree ops2[1], res;
	  ops2[0] = captures[1];
	  code_helper tem_code = BIT_NOT_EXPR;
	  tree tem_ops[3] = { ops2[0] };
	  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[1] = res;
	}
	code_helper tem_code = BIT_XOR_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_18 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (wi::gt_p (captures[1], 0, TYPE_SIGN (TREE_TYPE (captures[1]))))
    {
      {
/* #line 2604 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 bool ovf;
 wide_int prod = wi::mul (captures[2], captures[1], TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
/* #line 2609 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (ovf)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2610, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  constant_boolean_node (wi::lt_p (captures[2], 0, TYPE_SIGN (TREE_TYPE (captures[2]))) != (cmp == LT_EXPR || cmp == LE_EXPR), type);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2612, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[0];
	      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_19 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1351, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[1];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_20 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_single_nonzero_warnv_p (captures[0], NULL))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2777, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (cmp == NE_EXPR, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_21 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (out))
{
/* #line 3081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    {
      {
/* #line 3082 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3083, %s:%d\n", __FILE__, __LINE__);
	  *res_code = out;
	  {
	    tree ops1[1], res;
	    {
	      tree ops2[2], res;
	      ops2[0] = captures[2];
	      ops2[1] = captures[1];
	      code_helper tem_code = CFN_MUL_OVERFLOW;
	      tree tem_ops[3] = { ops2[0], ops2[1] };
	      gimple_resimplify2 (lseq, &tem_code, cpx, tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, cpx, tem_ops, lseq);
	      if (!res) return false;
	      ops1[0] = res;
	    }
	    code_helper tem_code = IMAGPART_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  res_ops[1] =  build_zero_cst (t);
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_22 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (icmp))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1581, %s:%d\n", __FILE__, __LINE__);
  *res_code = icmp;
  res_ops[0] = captures[0];
  res_ops[1] =  build_zero_cst (TREE_TYPE (captures[0]));
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_23 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (div))
{
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type)) && TYPE_OVERFLOW_UNDEFINED (type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:184, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  build_minus_one_cst (type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_24 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (ncmp))
{
/* #line 2808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && (TYPE_PRECISION (TREE_TYPE (captures[1])) == GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (captures[1])))) && element_precision (captures[0]) >= element_precision (captures[1]) && wi::only_sign_bit_p (captures[2], element_precision (captures[1])))
    {
      {
/* #line 2813 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2814, %s:%d\n", __FILE__, __LINE__);
	  *res_code = ncmp;
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[1];
	    if (stype != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (stype, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, stype, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, stype, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[0] = res;
	  }
	  res_ops[1] =  build_zero_cst (stype);
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_25 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:490, %s:%d\n", __FILE__, __LINE__);
  *res_code = MULT_EXPR;
  res_ops[0] = captures[1];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_26 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (type) && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type))
    {
/* #line 234 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (types_match (type, float_type_node))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:235, %s:%d\n", __FILE__, __LINE__);
	  *res_code = CFN_BUILT_IN_COPYSIGNF;
	  res_ops[0] =  build_one_cst (type);
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[0];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (types_match (type, double_type_node))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:237, %s:%d\n", __FILE__, __LINE__);
	      *res_code = CFN_BUILT_IN_COPYSIGN;
	      res_ops[0] =  build_one_cst (type);
	      {
		tree ops1[1], res;
		ops1[0] = captures[0];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[1] = res;
	      }
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	  else
	    {
/* #line 238 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (types_match (type, long_double_type_node))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:239, %s:%d\n", __FILE__, __LINE__);
		  *res_code = CFN_BUILT_IN_COPYSIGNL;
		  res_ops[0] =  build_one_cst (type);
		  {
		    tree ops1[1], res;
		    ops1[0] = captures[0];
		    if (type != TREE_TYPE (ops1[0])
		        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		      {
			code_helper tem_code = NOP_EXPR;
			tree tem_ops[3] = { ops1[0] };
			gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
			if (!res) return false;
		      }
		    else
		      res = ops1[0];
		    res_ops[1] = res;
		  }
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_27 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (SIN), combined_fn ARG_UNUSED (COS), combined_fn ARG_UNUSED (TAN))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3310, %s:%d\n", __FILE__, __LINE__);
      *res_code = TAN;
      res_ops[0] = captures[1];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_28 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2625, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[1];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_29 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shift))
{
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1])) && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT && tree_fits_uhwi_p (captures[4]) && tree_to_uhwi (captures[4]) > 0 && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type))
    {
      {
/* #line 1610 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 unsigned int shiftc = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
 unsigned HOST_WIDE_INT newmask, zerobits = 0;
 tree shift_type = TREE_TYPE (captures[2]);
 unsigned int prec;
 if (shift == LSHIFT_EXPR) zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
 else if (shift == RSHIFT_EXPR && (TYPE_PRECISION (shift_type) == GET_MODE_PRECISION (TYPE_MODE (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_PRECISION (inner_type) == GET_MODE_PRECISION (TYPE_MODE (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 1666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1667, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_int_cst (type, 0);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
	      {
/* #line 1668 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 1669 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0)
		    {
		      {
/* #line 1670 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 for (prec = BITS_PER_UNIT;
 prec < HOST_BITS_PER_WIDE_INT;
 prec <<= 1) if (newmask == (HOST_WIDE_INT_1U << prec) - 1) break;
/* #line 1679 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT || newmask == HOST_WIDE_INT_M1U)
			    {
			      {
/* #line 1681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 1683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5]))
				    {
/* #line 1684 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1685, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  {
					    tree ops1[1], res;
					    {
					      tree ops2[2], res;
					      {
						tree ops3[1], res;
						ops3[0] = captures[2];
						if (shift_type != TREE_TYPE (ops3[0])
						    && !useless_type_conversion_p (shift_type, TREE_TYPE (ops3[0])))
						  {
						    code_helper tem_code = NOP_EXPR;
						    tree tem_ops[3] = { ops3[0] };
						    gimple_resimplify1 (lseq, &tem_code, shift_type, tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
						    if (!res) return false;
						  }
						else
						  res = ops3[0];
						ops2[0] = res;
					      }
					      ops2[1] = captures[4];
					      code_helper tem_code = shift;
					      tree tem_ops[3] = { ops2[0], ops2[1] };
					      gimple_resimplify2 (lseq, &tem_code, shift_type, tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
					      if (!res) return false;
					      ops1[0] = res;
					    }
					    if (type != TREE_TYPE (ops1[0])
					        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
					      {
						code_helper tem_code = NOP_EXPR;
						tree tem_ops[3] = { ops1[0] };
						gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
						if (!res) return false;
					      }
					    else
					      res = ops1[0];
					    res_ops[0] = res;
					  }
					  res_ops[1] =  newmaskt;
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1686, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  res_ops[0] = captures[0];
					  res_ops[1] =  newmaskt;
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_30 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[0])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:596, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (cmp == LT_EXPR, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_31 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:802, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_32 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (div))
{
/* #line 396 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:398, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_33 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1011, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[2], res;
	{
	  tree ops2[1], res;
	  ops2[0] = captures[3];
	  code_helper tem_code = BIT_NOT_EXPR;
	  tree tem_ops[3] = { ops2[0] };
	  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[0] = res;
	}
	ops1[1] = captures[0];
	code_helper tem_code = BIT_AND_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_34 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (froms), combined_fn ARG_UNUSED (tos))
{
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p () && targetm.libc_has_function (function_c99_misc))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3468, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = tos;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_35 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (cmp != NE_EXPR || ! FLOAT_TYPE_P (TREE_TYPE (captures[0])) || ! HONOR_NANS (captures[0]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2352, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (false, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_36 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 772 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:773, %s:%d\n", __FILE__, __LINE__);
      *res_code = BIT_XOR_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[0] = res;
      }
      {
	tree ops1[1], res;
	ops1[0] = captures[1];
	code_helper tem_code = BIT_NOT_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_37 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[1]))
    {
/* #line 2589 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (wi::eq_p (captures[2], 0))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2590, %s:%d\n", __FILE__, __LINE__);
	  *res_code = cmp;
	  res_ops[0] = captures[0];
	  res_ops[1] = captures[2];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 2591 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[1]) == INTEGER_CST)
	    {
	      {
/* #line 2592 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 bool ovf;
 wide_int prod = wi::mul (captures[2], captures[1], TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
/* #line 2597 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (ovf)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2598, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] =  constant_boolean_node (cmp == NE_EXPR, type);
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2599, %s:%d\n", __FILE__, __LINE__);
		      *res_code = cmp;
		      res_ops[0] = captures[0];
		      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
	      }
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_38 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop), enum tree_code ARG_UNUSED (cmp))
{
/* #line 549 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && INTEGRAL_TYPE_P (TREE_TYPE (captures[2])) && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:552, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      {
	tree ops1[2], res;
	ops1[0] = captures[0];
	{
	  tree ops2[1], res;
	  ops2[0] = captures[2];
	  if (TREE_TYPE (ops1[0]) != TREE_TYPE (ops2[0])
	      && !useless_type_conversion_p (TREE_TYPE (ops1[0]), TREE_TYPE (ops2[0])))
	    {
	      code_helper tem_code = NOP_EXPR;
	      tree tem_ops[3] = { ops2[0] };
	      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	      if (!res) return false;
	    }
	  else
	    res = ops2[0];
	  ops1[1] = res;
	}
	code_helper tem_code = BIT_IOR_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      res_ops[1] = captures[1];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_39 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (out))
{
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3073, %s:%d\n", __FILE__, __LINE__);
      *res_code = out;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = IMAGPART_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      res_ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_40 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (POW))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ())
    {
/* #line 3349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2]))
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3350, %s:%d\n", __FILE__, __LINE__);
	  *res_code = POW;
	  res_ops[0] = captures[1];
	  {
	    tree ops1[2], res;
	    ops1[0] = captures[2];
	    ops1[1] =  build_one_cst (type);
	    code_helper tem_code = MINUS_EXPR;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_41 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (test1), enum tree_code ARG_UNUSED (test2))
{
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2638, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (true, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_42 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shiftrotate))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1521, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_43 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shift))
{
/* #line 1537 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])))
    {
      {
/* #line 1538 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 int width = ceil_log2 (element_precision (TREE_TYPE (captures[0])));
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 1542 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if ((get_nonzero_bits (captures[1]) & wi::mask (width, false, prec)) == 0)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1543, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_44 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (tans), combined_fn ARG_UNUSED (atans))
{
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3234, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_45 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (div))
{
  {
/* #line 199 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 bool overflow_p;
 wide_int mul = wi::mul (captures[1], captures[2], TYPE_SIGN (type), &overflow_p);
/* #line 203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (!overflow_p)
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:204, %s:%d\n", __FILE__, __LINE__);
	  *res_code = div;
	  res_ops[0] = captures[0];
	  res_ops[1] =  wide_int_to_tree (type, mul);
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 205 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TYPE_UNSIGNED (type) || mul != wi::min_value (TYPE_PRECISION (type), SIGNED))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:207, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_zero_cst (type);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_46 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:557, %s:%d\n", __FILE__, __LINE__);
  *res_code = MINUS_EXPR;
  {
    tree ops1[2], res;
    ops1[0] = captures[1];
    ops1[1] = captures[2];
    code_helper tem_code = BIT_XOR_EXPR;
    tree tem_ops[3] = { ops1[0], ops1[1] };
    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[0] = res;
  }
  res_ops[1] = captures[2];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_47 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bit_op), enum tree_code ARG_UNUSED (shift))
{
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2])))
    {
      {
/* #line 1695 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1696, %s:%d\n", __FILE__, __LINE__);
	  *res_code = bit_op;
	  {
	    tree ops1[2], res;
	    {
	      tree ops2[1], res;
	      ops2[0] = captures[2];
	      if (type != TREE_TYPE (ops2[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (ops2[0])))
		{
		  code_helper tem_code = NOP_EXPR;
		  tree tem_ops[3] = { ops2[0] };
		  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		  if (!res) return false;
	        }
	      else
	        res = ops2[0];
	      ops1[0] = res;
	    }
	    ops1[1] = captures[4];
	    code_helper tem_code = shift;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  res_ops[1] =  mask;
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_48 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1362 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (TREE_CODE (type) != COMPLEX_TYPE && (! ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_UNDEFINED (type)))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1365, %s:%d\n", __FILE__, __LINE__);
      *res_code = NEGATE_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = ABS_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_49 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:566, %s:%d\n", __FILE__, __LINE__);
  *res_code = MINUS_EXPR;
  res_ops[0] = captures[2];
  {
    tree ops1[2], res;
    ops1[0] = captures[1];
    ops1[1] = captures[2];
    code_helper tem_code = BIT_XOR_EXPR;
    tree tem_ops[3] = { ops1[0], ops1[1] };
    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[1] = res;
  }
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_50 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (COS), combined_fn ARG_UNUSED (SIN), combined_fn ARG_UNUSED (TAN))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3315, %s:%d\n", __FILE__, __LINE__);
      *res_code = RDIV_EXPR;
      res_ops[0] =  build_one_cst (type);
      {
	tree ops1[1], res;
	ops1[0] = captures[1];
	code_helper tem_code = TAN;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_51 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1004, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_XOR_EXPR;
  {
    tree ops1[2], res;
    {
      tree ops2[2], res;
      ops2[0] = captures[1];
      ops2[1] = captures[4];
      code_helper tem_code = BIT_XOR_EXPR;
      tree tem_ops[3] = { ops2[0], ops2[1] };
      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
      if (!res) return false;
      ops1[0] = res;
    }
    ops1[1] = captures[2];
    code_helper tem_code = BIT_AND_EXPR;
    tree tem_ops[3] = { ops1[0], ops1[1] };
    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[0] = res;
  }
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_52 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:580, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_IOR_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_53 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shiftrotate))
{
  {
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 1528 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (tem)
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1529, %s:%d\n", __FILE__, __LINE__);
	  *res_code = shiftrotate;
	  res_ops[0] = captures[0];
	  res_ops[1] =  tem;
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
  }
  return false;
}

static bool
gimple_simplify_54 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:534, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] =  build_zero_cst (type);
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_55 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 3051 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (single_use (captures[0]) && ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_UNSIGNED (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3055, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      res_ops[0] = captures[2];
      res_ops[1] = captures[1];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_56 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type) && !TYPE_OVERFLOW_TRAPS (type) && tree_nop_conversion_p (type, TREE_TYPE (captures[1])) && (expr_not_equal_to (captures[0], TYPE_MIN_VALUE (type)) || expr_not_equal_to (captures[1], wi::minus_one (TYPE_PRECISION (TREE_TYPE (captures[1]))))))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:353, %s:%d\n", __FILE__, __LINE__);
      *res_code = TRUNC_MOD_EXPR;
      res_ops[0] = captures[0];
      {
	tree ops1[1], res;
	ops1[0] = captures[1];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_57 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:823, %s:%d\n", __FILE__, __LINE__);
      *res_code = BIT_XOR_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[1];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[0] = res;
      }
      {
	tree ops1[1], res;
	ops1[0] = captures[2];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_58 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2670, %s:%d\n", __FILE__, __LINE__);
  *res_code = op;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_59 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (scmp))
{
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (TREE_TYPE (captures[0])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2656, %s:%d\n", __FILE__, __LINE__);
      *res_code = scmp;
      res_ops[0] = captures[0];
      res_ops[1] = captures[1];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_60 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:624, %s:%d\n", __FILE__, __LINE__);
  *res_code = NOP_EXPR;
  res_ops[0] =  build_all_ones_cst (TREE_TYPE (captures[0]));
  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_61 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:802, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_62 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop))
{
/* #line 885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (((TREE_CODE (captures[1]) == INTEGER_CST && INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && int_fits_type_p (captures[1], TREE_TYPE (captures[0]))) || types_match (captures[0], captures[1])) && (bitop != BIT_AND_EXPR ||1) && ( TYPE_PRECISION (TREE_TYPE (captures[0])) < TYPE_PRECISION (type) || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT || TYPE_PRECISION (type) != GET_MODE_PRECISION (TYPE_MODE (type))))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:904, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[2], res;
	ops1[0] = captures[0];
	{
	  tree ops2[1], res;
	  ops2[0] = captures[1];
	  if (TREE_TYPE (ops1[0]) != TREE_TYPE (ops2[0])
	      && !useless_type_conversion_p (TREE_TYPE (ops1[0]), TREE_TYPE (ops2[0])))
	    {
	      code_helper tem_code = NOP_EXPR;
	      tree tem_ops[3] = { ops2[0] };
	      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	      if (!res) return false;
	    }
	  else
	    res = ops2[0];
	  ops1[1] = res;
	}
	code_helper tem_code = bitop;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_63 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1347, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[1];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_64 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:645, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_65 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3])) && tree_nop_conversion_p (type, TREE_TYPE (captures[6])))
    {
/* #line 814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:815, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[6];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:817, %s:%d\n", __FILE__, __LINE__);
	      *res_code = op;
	      {
		tree ops1[1], res;
		ops1[0] = captures[3];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[4];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_66 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (floors), combined_fn ARG_UNUSED (truncs))
{
/* #line 3418 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (canonicalize_math_p ())
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3424, %s:%d\n", __FILE__, __LINE__);
      *res_code = truncs;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_67 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	{
/* #line 1248 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1249, %s:%d\n", __FILE__, __LINE__);
	      *res_code = NEGATE_EXPR;
	      {
		tree ops1[1], res;
		ops1[0] = captures[0];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_68 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT off0, off1;
 tree base0 = get_addr_base_and_unit_offset (TREE_OPERAND (captures[1], 0), &off0);
 tree base1 = get_addr_base_and_unit_offset (TREE_OPERAND (captures[2], 0), &off1);
 if (base0 && TREE_CODE (base0) == MEM_REF) { off0 += mem_ref_offset (base0).to_short_addr ();
 base0 = TREE_OPERAND (base0, 0);
 } if (base1 && TREE_CODE (base1) == MEM_REF) { off1 += mem_ref_offset (base1).to_short_addr ();
 base1 = TREE_OPERAND (base1, 0);
 }/* #line 2857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (base0 && base1)
	{
	  {
/* #line 2858 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 int equal = 2;
 if (0 && ((VAR_P (base0) && DECL_HAS_VALUE_EXPR_P (base0)) || (VAR_P (base1) && DECL_HAS_VALUE_EXPR_P (base1)))) ;
 else if (decl_in_symtab_p (base0) && decl_in_symtab_p (base1)) equal = symtab_node::get_create (base0) ->equal_address_to (symtab_node::get_create (base1));
 else if ((DECL_P (base0) || TREE_CODE (base0) == SSA_NAME || TREE_CODE (base0) == STRING_CST) && (DECL_P (base1) || TREE_CODE (base1) == SSA_NAME || TREE_CODE (base1) == STRING_CST)) equal = (base0 == base1);
/* #line 2880 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (equal == 1 && (cmp == EQ_EXPR || cmp == NE_EXPR || off0 == off1 || POINTER_TYPE_OVERFLOW_UNDEFINED || (POINTER_TYPE_P (TREE_TYPE (captures[0])) && (DECL_P (base0) || TREE_CODE (base0) == STRING_CST))))
		{
/* #line 2889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (cmp == EQ_EXPR)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2890, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] =  constant_boolean_node (off0 == off1, type);
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 2891 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == NE_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2892, %s:%d\n", __FILE__, __LINE__);
			  res_ops[0] =  constant_boolean_node (off0 != off1, type);
			  *res_code = TREE_CODE (res_ops[0]);
			  return true;
			}
		      else
			{
/* #line 2893 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == LT_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2894, %s:%d\n", __FILE__, __LINE__);
			      res_ops[0] =  constant_boolean_node (off0 < off1, type);
			      *res_code = TREE_CODE (res_ops[0]);
			      return true;
			    }
			  else
			    {
/* #line 2895 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == LE_EXPR)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2896, %s:%d\n", __FILE__, __LINE__);
				  res_ops[0] =  constant_boolean_node (off0 <= off1, type);
				  *res_code = TREE_CODE (res_ops[0]);
				  return true;
				}
			      else
				{
/* #line 2897 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (cmp == GE_EXPR)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2898, %s:%d\n", __FILE__, __LINE__);
				      res_ops[0] =  constant_boolean_node (off0 >= off1, type);
				      *res_code = TREE_CODE (res_ops[0]);
				      return true;
				    }
				  else
				    {
/* #line 2899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (cmp == GT_EXPR)
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2900, %s:%d\n", __FILE__, __LINE__);
					  res_ops[0] =  constant_boolean_node (off0 > off1, type);
					  *res_code = TREE_CODE (res_ops[0]);
					  return true;
					}
				    }
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 2901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (equal == 0 && DECL_P (base0) && DECL_P (base1) && (!INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || off0 == off1))
		    {
/* #line 2907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == EQ_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2908, %s:%d\n", __FILE__, __LINE__);
			  res_ops[0] =  constant_boolean_node (false, type);
			  *res_code = TREE_CODE (res_ops[0]);
			  return true;
			}
		      else
			{
/* #line 2909 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == NE_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2910, %s:%d\n", __FILE__, __LINE__);
			      res_ops[0] =  constant_boolean_node (true, type);
			      *res_code = TREE_CODE (res_ops[0]);
			      return true;
			    }
			}
		    }
		}
	  }
	}
  }
  return false;
}

static bool
gimple_simplify_69 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:965, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] =  constant_boolean_node (op == NE_EXPR ? true : false, type);
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_70 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[1])))
    lseq = NULL;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:666, %s:%d\n", __FILE__, __LINE__);
  *res_code = bitop;
  res_ops[0] = captures[0];
  {
    tree ops1[1], res;
    ops1[0] = captures[2];
    code_helper tem_code = BIT_NOT_EXPR;
    tree tem_ops[3] = { ops1[0] };
    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[1] = res;
  }
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_71 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (op))
{
  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
/* #line 2113 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (types_match (from_type, to_type) || (TYPE_UNSIGNED (from_type) && !TYPE_UNSIGNED (to_type) && TYPE_PRECISION (from_type) == TYPE_PRECISION (to_type) && integer_zerop (captures[1]) && (cmp == LT_EXPR || cmp == GE_EXPR)))
	{
	  {
/* #line 2120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 bool overflow = false;
 enum tree_code code, cmp_code = cmp;
 wide_int real_c1, c1 = captures[1], c2 = captures[2], c3 = 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 2181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (code == MAX_EXPR)
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2182, %s:%d\n", __FILE__, __LINE__);
		  *res_code = op;
		  {
		    tree ops1[2], res;
		    ops1[0] = captures[0];
		    ops1[1] =  wide_int_to_tree (from_type, real_c1);
		    code_helper tem_code = MAX_EXPR;
		    tree tem_ops[3] = { ops1[0], ops1[1] };
		    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		    if (!res) return false;
		    res_ops[0] = res;
		  }
		  res_ops[1] =  wide_int_to_tree (from_type, c2);
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	      else
		{
/* #line 2184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (code == MIN_EXPR)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2185, %s:%d\n", __FILE__, __LINE__);
		      *res_code = op;
		      {
			tree ops1[2], res;
			ops1[0] = captures[0];
			ops1[1] =  wide_int_to_tree (from_type, real_c1);
			code_helper tem_code = MIN_EXPR;
			tree tem_ops[3] = { ops1[0], ops1[1] };
			gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			if (!res) return false;
			res_ops[0] = res;
		      }
		      res_ops[1] =  wide_int_to_tree (from_type, c2);
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
		}
	  }
	}
  }
  return false;
}

static bool
gimple_simplify_72 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop), enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:674, %s:%d\n", __FILE__, __LINE__);
  *res_code = bitop;
  res_ops[0] = captures[1];
  res_ops[1] = captures[2];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_73 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:679, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_XOR_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_74 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:684, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_AND_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_75 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 1475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (wi::gt_p (captures[1], captures[2], TYPE_SIGN (TREE_TYPE (captures[0]))))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1476, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (cmp == NE_EXPR, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  else
    {
/* #line 1477 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (wi::lt_p (captures[1], captures[2], TYPE_SIGN (TREE_TYPE (captures[0]))))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1478, %s:%d\n", __FILE__, __LINE__);
	  *res_code = cmp;
	  res_ops[0] = captures[0];
	  res_ops[1] = captures[2];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_76 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:692, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_IOR_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_77 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (rotate))
{
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if ((element_precision (TREE_TYPE (captures[2])) <= element_precision (TREE_TYPE (captures[3])) || !TYPE_UNSIGNED (TREE_TYPE (captures[3]))) && (element_precision (type) <= element_precision (TREE_TYPE (captures[2])) || !TYPE_UNSIGNED (TREE_TYPE (captures[2]))))
    {
      {
/* #line 1719 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1721, %s:%d\n", __FILE__, __LINE__);
	  *res_code = NOP_EXPR;
	  {
	    tree ops1[2], res;
	    {
	      tree ops2[1], res;
	      ops2[0] = captures[3];
	      if (rotate_type != TREE_TYPE (ops2[0])
	          && !useless_type_conversion_p (rotate_type, TREE_TYPE (ops2[0])))
		{
		  code_helper tem_code = NOP_EXPR;
		  tree tem_ops[3] = { ops2[0] };
		  gimple_resimplify1 (lseq, &tem_code, rotate_type, tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, rotate_type, tem_ops, lseq);
		  if (!res) return false;
	        }
	      else
	        res = ops2[0];
	      ops1[0] = res;
	    }
	    ops1[1] = captures[4];
	    code_helper tem_code = rotate;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_78 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (SQRT))
{
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations)
    {
/* #line 3107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (!HONOR_SNANS (type))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3108, %s:%d\n", __FILE__, __LINE__);
	  res_ops[0] = captures[1];
	  *res_code = TREE_CODE (res_ops[0]);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_79 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (POW))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3334, %s:%d\n", __FILE__, __LINE__);
      *res_code = POW;
      res_ops[0] = captures[1];
      {
	tree ops1[2], res;
	ops1[0] = captures[2];
	ops1[1] = captures[4];
	code_helper tem_code = PLUS_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_80 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (mod))
{
/* #line 372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0])) && tree_nop_conversion_p (type, TREE_TYPE (captures[1])) && integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:376, %s:%d\n", __FILE__, __LINE__);
      *res_code = BIT_AND_EXPR;
      res_ops[0] = captures[0];
      {
	tree ops1[1], res;
	{
	  tree ops2[2], res;
	  ops2[0] = captures[2];
	  ops2[1] =  build_int_cst (TREE_TYPE (captures[2]), 1);
	  code_helper tem_code = MINUS_EXPR;
	  tree tem_ops[3] = { ops2[0], ops2[1] };
	  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[0] = res;
	}
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_81 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2771 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2772, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      res_ops[0] = captures[1];
      {
	tree ops1[2], res;
	ops1[0] = captures[2];
	{
	  tree ops2[1], res;
	  ops2[0] = captures[3];
	  if (TREE_TYPE (res_ops[0]) != TREE_TYPE (ops2[0])
	      && !useless_type_conversion_p (TREE_TYPE (res_ops[0]), TREE_TYPE (ops2[0])))
	    {
	      code_helper tem_code = NOP_EXPR;
	      tree tem_ops[3] = { ops2[0] };
	      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (res_ops[0]), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (res_ops[0]), tem_ops, lseq);
	      if (!res) return false;
	    }
	  else
	    res = ops2[0];
	  ops1[1] = res;
	}
	code_helper tem_code = BIT_XOR_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_82 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:484, %s:%d\n", __FILE__, __LINE__);
  *res_code = copysigns;
  res_ops[0] = captures[0];
  res_ops[1] = captures[2];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_83 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:726, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_XOR_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_84 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:731, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_AND_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_85 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2])) || POINTER_TYPE_P (TREE_TYPE (captures[2]))) && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1])))
    {
      {
/* #line 2943 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree arg1_type = TREE_TYPE (captures[2]);
 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 2952 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (wi::eq_p (captures[2], max))
	    {
/* #line 2954 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (cmp == GT_EXPR)
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2955, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  constant_boolean_node (false, type);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 2956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (cmp == GE_EXPR)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2957, %s:%d\n", __FILE__, __LINE__);
		      *res_code = EQ_EXPR;
		      res_ops[0] = captures[0];
		      res_ops[1] = captures[2];
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
		  else
		    {
/* #line 2958 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2959, %s:%d\n", __FILE__, __LINE__);
			  res_ops[0] =  constant_boolean_node (true, type);
			  *res_code = TREE_CODE (res_ops[0]);
			  return true;
			}
		      else
			{
/* #line 2960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == LT_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2961, %s:%d\n", __FILE__, __LINE__);
			      *res_code = NE_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] = captures[2];
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 2962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (wi::eq_p (captures[2], min))
		{
/* #line 2964 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (cmp == LT_EXPR)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2965, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] =  constant_boolean_node (false, type);
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 2966 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2967, %s:%d\n", __FILE__, __LINE__);
			  *res_code = EQ_EXPR;
			  res_ops[0] = captures[0];
			  res_ops[1] = captures[2];
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		      else
			{
/* #line 2968 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2969, %s:%d\n", __FILE__, __LINE__);
			      res_ops[0] =  constant_boolean_node (true, type);
			      *res_code = TREE_CODE (res_ops[0]);
			      return true;
			    }
			  else
			    {
/* #line 2970 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == GT_EXPR)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2971, %s:%d\n", __FILE__, __LINE__);
				  *res_code = NE_EXPR;
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[2];
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 2972 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (wi::eq_p (captures[2], max - 1))
		    {
/* #line 2974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == GT_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2975, %s:%d\n", __FILE__, __LINE__);
			  *res_code = EQ_EXPR;
			  res_ops[0] = captures[0];
			  res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), wi::add (captures[2], 1));
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		      else
			{
/* #line 2976 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == LE_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2977, %s:%d\n", __FILE__, __LINE__);
			      *res_code = NE_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), wi::add (captures[2], 1));
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			}
		    }
		  else
		    {
/* #line 2978 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (wi::eq_p (captures[2], min + 1))
			{
/* #line 2980 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2981, %s:%d\n", __FILE__, __LINE__);
			      *res_code = NE_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), wi::sub (captures[2], 1));
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			  else
			    {
/* #line 2982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == LT_EXPR)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2983, %s:%d\n", __FILE__, __LINE__);
				  *res_code = EQ_EXPR;
				  res_ops[0] = captures[0];
				  res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), wi::sub (captures[2], 1));
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			}
		      else
			{
/* #line 2984 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (wi::eq_p (captures[2], signed_max) && TYPE_UNSIGNED (arg1_type) && prec == GET_MODE_PRECISION (TYPE_MODE (arg1_type)) && INTEGRAL_TYPE_P (arg1_type))
			    {
/* #line 2995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR)
				{
				  {
/* #line 2996 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree st = signed_type_for (arg1_type);
/* #line 2997 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (cmp == LE_EXPR)
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2998, %s:%d\n", __FILE__, __LINE__);
					  *res_code = GE_EXPR;
					  {
					    tree ops1[1], res;
					    ops1[0] = captures[1];
					    if (st != TREE_TYPE (ops1[0])
					        && !useless_type_conversion_p (st, TREE_TYPE (ops1[0])))
					      {
						code_helper tem_code = NOP_EXPR;
						tree tem_ops[3] = { ops1[0] };
						gimple_resimplify1 (lseq, &tem_code, st, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, st, tem_ops, lseq);
						if (!res) return false;
					      }
					    else
					      res = ops1[0];
					    res_ops[0] = res;
					  }
					  res_ops[1] =  build_zero_cst (st);
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2999, %s:%d\n", __FILE__, __LINE__);
					  *res_code = LT_EXPR;
					  {
					    tree ops1[1], res;
					    ops1[0] = captures[1];
					    if (st != TREE_TYPE (ops1[0])
					        && !useless_type_conversion_p (st, TREE_TYPE (ops1[0])))
					      {
						code_helper tem_code = NOP_EXPR;
						tree tem_ops[3] = { ops1[0] };
						gimple_resimplify1 (lseq, &tem_code, st, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, st, tem_ops, lseq);
						if (!res) return false;
					      }
					    else
					      res = ops1[0];
					    res_ops[0] = res;
					  }
					  res_ops[1] =  build_zero_cst (st);
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_86 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[0])) && !TYPE_OVERFLOW_SANITIZED (type))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1182, %s:%d\n", __FILE__, __LINE__);
	  *res_code = NOP_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_87 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3])) && tree_nop_conversion_p (type, TREE_TYPE (captures[6])))
    {
/* #line 814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:815, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[6];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:817, %s:%d\n", __FILE__, __LINE__);
	      *res_code = op;
	      {
		tree ops1[1], res;
		ops1[0] = captures[3];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[4];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_88 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (minmax))
{
/* #line 1412 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && types_match (captures[1], type) && int_fits_type_p (captures[2], type) && TYPE_SIGN (TREE_TYPE (captures[0])) == TYPE_SIGN (type) && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1416, %s:%d\n", __FILE__, __LINE__);
      *res_code = minmax;
      res_ops[0] = captures[1];
      {
	tree ops1[1], res;
	ops1[0] = captures[2];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_89 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 95 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (fold_real_zero_addition_p (type, captures[1], 0))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:96, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_90 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:984, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = NEGATE_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_91 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:760, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[2], res;
	ops1[0] = captures[1];
	{
	  tree ops2[1], res;
	  ops2[0] = captures[0];
	  code_helper tem_code = BIT_NOT_EXPR;
	  tree tem_ops[3] = { ops2[0] };
	  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[1] = res;
	}
	code_helper tem_code = BIT_AND_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_92 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (POW))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3260, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_93 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:999, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[2], res;
	ops1[0] = captures[0];
	ops1[1] = captures[1];
	code_helper tem_code = BIT_XOR_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_94 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3582, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_95 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (rotate))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1492, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_96 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:601, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (cmp == GT_EXPR, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_97 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[1])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2417, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      res_ops[0] = captures[0];
      res_ops[1] =  build_real (TREE_TYPE (captures[1]), dconst0);
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  else
    {
/* #line 2419 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1])) && ! HONOR_SNANS (captures[1]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2421, %s:%d\n", __FILE__, __LINE__);
	  res_ops[0] =  constant_boolean_node (cmp == NE_EXPR, type);
	  *res_code = TREE_CODE (res_ops[0]);
	  return true;
	}
      else
	{
/* #line 2423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (REAL_VALUE_ISINF (TREE_REAL_CST (captures[1])) && MODE_HAS_INFINITIES (TYPE_MODE (TREE_TYPE (captures[1]))))
	    {
	      {
/* #line 2425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 REAL_VALUE_TYPE max;
 enum tree_code code = cmp;
 bool neg = REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]));
 if (neg) code = swap_tree_comparison (code);
/* #line 2435 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (code == GT_EXPR && ! HONOR_SNANS (captures[0]))
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2437, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] =  constant_boolean_node (false, type);
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 2438 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (code == LE_EXPR)
			{
/* #line 2440 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (! HONOR_NANS (captures[0]))
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2441, %s:%d\n", __FILE__, __LINE__);
			      res_ops[0] =  constant_boolean_node (true, type);
			      *res_code = TREE_CODE (res_ops[0]);
			      return true;
			    }
			  else
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2443, %s:%d\n", __FILE__, __LINE__);
			      *res_code = EQ_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] = captures[0];
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			}
		      else
			{
/* #line 2445 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (code == EQ_EXPR || code == GE_EXPR)
			    {
			      {
/* #line 2446 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 2447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (neg)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2448, %s:%d\n", __FILE__, __LINE__);
				      *res_code = LT_EXPR;
				      res_ops[0] = captures[0];
				      res_ops[1] =  build_real (TREE_TYPE (captures[0]), max);
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2449, %s:%d\n", __FILE__, __LINE__);
				      *res_code = GT_EXPR;
				      res_ops[0] = captures[0];
				      res_ops[1] =  build_real (TREE_TYPE (captures[0]), max);
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			  else
			    {
/* #line 2451 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (code == LT_EXPR)
				{
				  {
/* #line 2452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 2453 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (neg)
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2454, %s:%d\n", __FILE__, __LINE__);
					  *res_code = GE_EXPR;
					  res_ops[0] = captures[0];
					  res_ops[1] =  build_real (TREE_TYPE (captures[0]), max);
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2455, %s:%d\n", __FILE__, __LINE__);
					  *res_code = LE_EXPR;
					  res_ops[0] = captures[0];
					  res_ops[1] =  build_real (TREE_TYPE (captures[0]), max);
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				  }
				}
			      else
				{
/* #line 2457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (code == NE_EXPR)
				    {
				      {
/* #line 2458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 2459 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					  if (! HONOR_NANS (captures[0]))
					    {
/* #line 2460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					      if (neg)
						{
						  gimple_seq *lseq = seq;
						  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2461, %s:%d\n", __FILE__, __LINE__);
						  *res_code = GE_EXPR;
						  res_ops[0] = captures[0];
						  res_ops[1] =  build_real (TREE_TYPE (captures[0]), max);
						  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						  return true;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2462, %s:%d\n", __FILE__, __LINE__);
						  *res_code = LE_EXPR;
						  res_ops[0] = captures[0];
						  res_ops[1] =  build_real (TREE_TYPE (captures[0]), max);
						  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						  return true;
						}
					    }
					  else
					    {
/* #line 2463 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					      if (neg)
						{
						  gimple_seq *lseq = seq;
						  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2464, %s:%d\n", __FILE__, __LINE__);
						  *res_code = BIT_XOR_EXPR;
						  {
						    tree ops1[2], res;
						    ops1[0] = captures[0];
						    ops1[1] =  build_real (TREE_TYPE (captures[0]), max);
						    code_helper tem_code = LT_EXPR;
						    tree tem_ops[3] = { ops1[0], ops1[1] };
						    gimple_resimplify2 (lseq, &tem_code, type, tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
						    if (!res) return false;
						    res_ops[0] = res;
						  }
						  res_ops[1] =  build_one_cst (type);
						  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						  return true;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2466, %s:%d\n", __FILE__, __LINE__);
						  *res_code = BIT_XOR_EXPR;
						  {
						    tree ops1[2], res;
						    ops1[0] = captures[0];
						    ops1[1] =  build_real (TREE_TYPE (captures[0]), max);
						    code_helper tem_code = GT_EXPR;
						    tree tem_ops[3] = { ops1[0], ops1[1] };
						    gimple_resimplify2 (lseq, &tem_code, type, tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
						    if (!res) return false;
						    res_ops[0] = res;
						  }
						  res_ops[1] =  build_one_cst (type);
						  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						  return true;
						}
					    }
				      }
				    }
				}
			    }
			}
		    }
	      }
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_98 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (div))
{
/* #line 170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[0]) && !ALL_FRACT_MODE_P (TYPE_MODE (type)))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:171, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  build_one_cst (type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_99 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (opo), enum tree_code ARG_UNUSED (opi))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:780, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_AND_EXPR;
  {
    tree ops1[1], res;
    ops1[0] = captures[0];
    code_helper tem_code = BIT_NOT_EXPR;
    tree tem_ops[3] = { ops1[0] };
    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[0] = res;
  }
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_100 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	{
/* #line 1242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_TRAPS (type))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1243, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_all_ones_cst (type);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_101 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (mod))
{
/* #line 372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0])) && tree_nop_conversion_p (type, TREE_TYPE (captures[1])) && integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:376, %s:%d\n", __FILE__, __LINE__);
      *res_code = BIT_AND_EXPR;
      res_ops[0] = captures[0];
      {
	tree ops1[1], res;
	{
	  tree ops2[2], res;
	  ops2[0] = captures[2];
	  ops2[1] =  build_int_cst (TREE_TYPE (captures[2]), 1);
	  code_helper tem_code = MINUS_EXPR;
	  tree tem_ops[3] = { ops2[0], ops2[1] };
	  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[0] = res;
	}
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_102 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2760, %s:%d\n", __FILE__, __LINE__);
  *res_code = cmp;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_103 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2766, %s:%d\n", __FILE__, __LINE__);
  *res_code = cmp;
  res_ops[0] = captures[1];
  res_ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_104 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (TAN), combined_fn ARG_UNUSED (SIN), combined_fn ARG_UNUSED (COS))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ())
    {
/* #line 3327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3329, %s:%d\n", __FILE__, __LINE__);
	  *res_code = RDIV_EXPR;
	  res_ops[0] =  build_one_cst (type);
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[1];
	    code_helper tem_code = COS;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_105 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:806, %s:%d\n", __FILE__, __LINE__);
  *res_code = NOP_EXPR;
  res_ops[0] = captures[0];
  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_106 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3])) && tree_nop_conversion_p (type, TREE_TYPE (captures[6])))
    {
/* #line 814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:815, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[6];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:817, %s:%d\n", __FILE__, __LINE__);
	      *res_code = op;
	      {
		tree ops1[1], res;
		ops1[0] = captures[3];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[4];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_107 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1167 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1])) && !TYPE_OVERFLOW_SANITIZED (type))
	{
	  {
/* #line 1169 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree t1 = type;
 if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))) t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1176, %s:%d\n", __FILE__, __LINE__);
	      *res_code = NOP_EXPR;
	      {
		tree ops1[2], res;
		{
		  tree ops2[1], res;
		  ops2[0] = captures[0];
		  if (t1 != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (t1, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, t1, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, t1, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[0] = res;
		}
		{
		  tree ops2[1], res;
		  ops2[0] = captures[1];
		  if (t1 != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (t1, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, t1, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, t1, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[1] = res;
		}
		code_helper tem_code = PLUS_EXPR;
		tree tem_ops[3] = { ops1[0], ops1[1] };
		gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		if (!res) return false;
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_108 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (out))
{
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])) && wi::ne_p (captures[2], 0) && single_use (captures[0]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3042, %s:%d\n", __FILE__, __LINE__);
      *res_code = out;
      res_ops[0] = captures[1];
      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[1]), wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), UNSIGNED) - captures[2]);
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_109 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (scmp))
{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (TREE_TYPE (captures[0])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    {
      {
/* #line 2662 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
/* #line 2663 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2664, %s:%d\n", __FILE__, __LINE__);
	      *res_code = scmp;
	      res_ops[0] = captures[0];
	      res_ops[1] =  tem;
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_110 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (icmp))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2785, %s:%d\n", __FILE__, __LINE__);
  *res_code = icmp;
  res_ops[0] = captures[0];
  res_ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_111 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (minmax), enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (out))
{
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1462, %s:%d\n", __FILE__, __LINE__);
      *res_code = out;
      res_ops[0] = captures[0];
      res_ops[1] = captures[1];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_112 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op), enum tree_code ARG_UNUSED (rop))
{
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:794, %s:%d\n", __FILE__, __LINE__);
      *res_code = rop;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[0] = res;
      }
      {
	tree ops1[2], res;
	{
	  tree ops2[1], res;
	  ops2[0] = captures[1];
	  if (type != TREE_TYPE (ops2[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (ops2[0])))
	    {
	      code_helper tem_code = NOP_EXPR;
	      tree tem_ops[3] = { ops2[0] };
	      gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	      if (!res) return false;
	    }
	  else
	    res = ops2[0];
	  ops1[0] = res;
	}
	{
	  tree ops2[1], res;
	  ops2[0] = captures[2];
	  if (type != TREE_TYPE (ops2[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (ops2[0])))
	    {
	      code_helper tem_code = NOP_EXPR;
	      tree tem_ops[3] = { ops2[0] };
	      gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	      if (!res) return false;
	    }
	  else
	    res = ops2[0];
	  ops1[1] = res;
	}
	code_helper tem_code = op;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_113 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3280, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_114 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0])))
    {
/* #line 1033 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1034, %s:%d\n", __FILE__, __LINE__);
	  *res_code = cmp;
	  res_ops[0] = captures[0];
	  res_ops[1] = captures[2];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 1035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[1]) == INTEGER_CST && wi::neg_p (captures[1], TYPE_SIGN (TREE_TYPE (captures[1]))))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1037, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[2];
	      res_ops[1] = captures[0];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_115 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (out))
{
/* #line 3081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    {
      {
/* #line 3082 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3083, %s:%d\n", __FILE__, __LINE__);
	  *res_code = out;
	  {
	    tree ops1[1], res;
	    {
	      tree ops2[2], res;
	      ops2[0] = captures[2];
	      ops2[1] = captures[1];
	      code_helper tem_code = CFN_MUL_OVERFLOW;
	      tree tem_ops[3] = { ops2[0], ops2[1] };
	      gimple_resimplify2 (lseq, &tem_code, cpx, tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, cpx, tem_ops, lseq);
	      if (!res) return false;
	      ops1[0] = res;
	    }
	    code_helper tem_code = IMAGPART_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  res_ops[1] =  build_zero_cst (t);
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_116 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (icmp), enum tree_code ARG_UNUSED (ncmp))
{
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type) || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1))
    {
      {
/* #line 2291 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison (cmp, HONOR_NANS (captures[0]));
/* #line 2293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (ic == icmp)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2294, %s:%d\n", __FILE__, __LINE__);
	      *res_code = icmp;
	      res_ops[0] = captures[0];
	      res_ops[1] = captures[1];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	  else
	    {
/* #line 2295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (ic == ncmp)
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2296, %s:%d\n", __FILE__, __LINE__);
		  *res_code = ncmp;
		  res_ops[0] = captures[0];
		  res_ops[1] = captures[1];
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_117 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 1589 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 int cand = wi::ctz (captures[2]) - wi::ctz (captures[0]);
/* #line 1590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (cand < 0 || (!integer_zerop (captures[2]) && wi::ne_p (wi::lshift (captures[0], cand), captures[2])))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1593, %s:%d\n", __FILE__, __LINE__);
	  res_ops[0] =  constant_boolean_node (cmp == NE_EXPR, type);
	  *res_code = TREE_CODE (res_ops[0]);
	  return true;
	}
      else
	{
/* #line 1594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!integer_zerop (captures[2]) && wi::eq_p (wi::lshift (captures[0], cand), captures[2]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1596, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[1];
	      res_ops[1] =  build_int_cst (TREE_TYPE (captures[1]), cand);
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_118 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (sq), enum tree_code ARG_UNUSED (cmp))
{
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math)
    {
/* #line 2503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1])))
	{
/* #line 2506 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2507, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  constant_boolean_node (false, type);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
/* #line 2510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (cmp == NE_EXPR || !HONOR_NANS (captures[0]))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2511, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  constant_boolean_node (true, type);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2513, %s:%d\n", __FILE__, __LINE__);
		  *res_code = GE_EXPR;
		  res_ops[0] = captures[0];
		  res_ops[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	    }
	}
      else
	{
/* #line 2514 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0))
	    {
/* #line 2517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (cmp == LT_EXPR)
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2518, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  constant_boolean_node (false, type);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 2520 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (cmp == GE_EXPR && !HONOR_NANS (captures[0]))
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2521, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] =  constant_boolean_node (true, type);
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 2523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2524, %s:%d\n", __FILE__, __LINE__);
			  *res_code = EQ_EXPR;
			  res_ops[0] = captures[0];
			  res_ops[1] = captures[1];
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2532, %s:%d\n", __FILE__, __LINE__);
			  *res_code = cmp;
			  res_ops[0] = captures[0];
			  res_ops[1] = captures[1];
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		    }
		}
	    }
	  else
	    {
/* #line 2533 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (cmp == GT_EXPR || cmp == GE_EXPR)
		{
		  {
/* #line 2534 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 REAL_VALUE_TYPE c2;
 real_arithmetic (&c2, MULT_EXPR, &TREE_REAL_CST (captures[1]), &TREE_REAL_CST (captures[1]));
 real_convert (&c2, TYPE_MODE (TREE_TYPE (captures[0])), &c2);
/* #line 2541 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (REAL_VALUE_ISINF (c2))
			{
/* #line 2543 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (HONOR_INFINITIES (captures[0]))
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2544, %s:%d\n", __FILE__, __LINE__);
			      *res_code = EQ_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			  else
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2545, %s:%d\n", __FILE__, __LINE__);
			      res_ops[0] =  constant_boolean_node (false, type);
			      *res_code = TREE_CODE (res_ops[0]);
			      return true;
			    }
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2547, %s:%d\n", __FILE__, __LINE__);
			  *res_code = cmp;
			  res_ops[0] = captures[0];
			  res_ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		  }
		}
	      else
		{
/* #line 2548 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (cmp == LT_EXPR || cmp == LE_EXPR)
		    {
		      {
/* #line 2549 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 REAL_VALUE_TYPE c2;
 real_arithmetic (&c2, MULT_EXPR, &TREE_REAL_CST (captures[1]), &TREE_REAL_CST (captures[1]));
 real_convert (&c2, TYPE_MODE (TREE_TYPE (captures[0])), &c2);
/* #line 2556 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2))
			    {
/* #line 2560 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0]))
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2561, %s:%d\n", __FILE__, __LINE__);
				  res_ops[0] =  constant_boolean_node (true, type);
				  *res_code = TREE_CODE (res_ops[0]);
				  return true;
				}
			      else
				{
/* #line 2564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0]))
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2565, %s:%d\n", __FILE__, __LINE__);
				      *res_code = NE_EXPR;
				      res_ops[0] = captures[0];
				      res_ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
				  else
				    {
/* #line 2568 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (! HONOR_INFINITIES (captures[0]))
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2569, %s:%d\n", __FILE__, __LINE__);
					  *res_code = GE_EXPR;
					  res_ops[0] = captures[0];
					  res_ops[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				      else
					{
/* #line 2571 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					  if (0)
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2572, %s:%d\n", __FILE__, __LINE__);
					      *res_code = TRUTH_ANDIF_EXPR;
					      {
						tree ops1[2], res;
						ops1[0] = captures[0];
						ops1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
						code_helper tem_code = GE_EXPR;
						tree tem_ops[3] = { ops1[0], ops1[1] };
						gimple_resimplify2 (lseq, &tem_code, type, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
						if (!res) return false;
						res_ops[0] = res;
					      }
					      {
						tree ops1[2], res;
						ops1[0] = captures[0];
						ops1[1] =  build_real (TREE_TYPE (captures[0]), c2);
						code_helper tem_code = NE_EXPR;
						tree tem_ops[3] = { ops1[0], ops1[1] };
						gimple_resimplify2 (lseq, &tem_code, type, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
						if (!res) return false;
						res_ops[1] = res;
					      }
					      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					      return true;
					    }
					}
				    }
				}
			    }
			  else
			    {
/* #line 2576 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (! HONOR_NANS (captures[0]))
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2577, %s:%d\n", __FILE__, __LINE__);
				  *res_code = cmp;
				  res_ops[0] = captures[0];
				  res_ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			      else
				{
/* #line 2579 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2580, %s:%d\n", __FILE__, __LINE__);
				      *res_code = TRUTH_ANDIF_EXPR;
				      {
					tree ops1[2], res;
					ops1[0] = captures[0];
					ops1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
					code_helper tem_code = GE_EXPR;
					tree tem_ops[3] = { ops1[0], ops1[1] };
					gimple_resimplify2 (lseq, &tem_code, type, tem_ops, valueize);
					res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
					if (!res) return false;
					res_ops[0] = res;
				      }
				      {
					tree ops1[2], res;
					ops1[0] = captures[0];
					ops1[1] =  build_real (TREE_TYPE (captures[0]), c2);
					code_helper tem_code = cmp;
					tree tem_ops[3] = { ops1[0], ops1[1] };
					gimple_resimplify2 (lseq, &tem_code, type, tem_ops, valueize);
					res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
					if (!res) return false;
					res_ops[1] = res;
				      }
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_119 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (TAN), combined_fn ARG_UNUSED (COS), combined_fn ARG_UNUSED (SIN))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3299, %s:%d\n", __FILE__, __LINE__);
      *res_code = SIN;
      res_ops[0] = captures[1];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_120 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shift))
{
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1])) && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT && tree_fits_uhwi_p (captures[4]) && tree_to_uhwi (captures[4]) > 0 && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type))
    {
      {
/* #line 1610 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 unsigned int shiftc = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
 unsigned HOST_WIDE_INT newmask, zerobits = 0;
 tree shift_type = TREE_TYPE (captures[2]);
 unsigned int prec;
 if (shift == LSHIFT_EXPR) zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
 else if (shift == RSHIFT_EXPR && (TYPE_PRECISION (shift_type) == GET_MODE_PRECISION (TYPE_MODE (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_PRECISION (inner_type) == GET_MODE_PRECISION (TYPE_MODE (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 1666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1667, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_int_cst (type, 0);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
	      {
/* #line 1668 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 1669 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0)
		    {
		      {
/* #line 1670 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 for (prec = BITS_PER_UNIT;
 prec < HOST_BITS_PER_WIDE_INT;
 prec <<= 1) if (newmask == (HOST_WIDE_INT_1U << prec) - 1) break;
/* #line 1679 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT || newmask == HOST_WIDE_INT_M1U)
			    {
			      {
/* #line 1681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 1683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5]))
				    {
/* #line 1684 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1685, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  {
					    tree ops1[1], res;
					    {
					      tree ops2[2], res;
					      {
						tree ops3[1], res;
						ops3[0] = captures[2];
						if (shift_type != TREE_TYPE (ops3[0])
						    && !useless_type_conversion_p (shift_type, TREE_TYPE (ops3[0])))
						  {
						    code_helper tem_code = NOP_EXPR;
						    tree tem_ops[3] = { ops3[0] };
						    gimple_resimplify1 (lseq, &tem_code, shift_type, tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
						    if (!res) return false;
						  }
						else
						  res = ops3[0];
						ops2[0] = res;
					      }
					      ops2[1] = captures[4];
					      code_helper tem_code = shift;
					      tree tem_ops[3] = { ops2[0], ops2[1] };
					      gimple_resimplify2 (lseq, &tem_code, shift_type, tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
					      if (!res) return false;
					      ops1[0] = res;
					    }
					    if (type != TREE_TYPE (ops1[0])
					        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
					      {
						code_helper tem_code = NOP_EXPR;
						tree tem_ops[3] = { ops1[0] };
						gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
						if (!res) return false;
					      }
					    else
					      res = ops1[0];
					    res_ops[0] = res;
					  }
					  res_ops[1] =  newmaskt;
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1686, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  res_ops[0] = captures[0];
					  res_ops[1] =  newmaskt;
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_121 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1887, %s:%d\n", __FILE__, __LINE__);
  *res_code = NOP_EXPR;
  res_ops[0] = captures[0];
  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_122 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (! FLOAT_TYPE_P (TREE_TYPE (captures[0])) || ! HONOR_NANS (captures[0]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2343, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (true, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  else
    {
/* #line 2344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (cmp != EQ_EXPR)
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2345, %s:%d\n", __FILE__, __LINE__);
	  *res_code = EQ_EXPR;
	  res_ops[0] = captures[0];
	  res_ops[1] = captures[0];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_123 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:571, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_XOR_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_124 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (mod))
{
/* #line 315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[0]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:316, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  build_zero_cst (type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_125 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (single_use (captures[0]) && single_use (captures[2]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2371, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      res_ops[0] = captures[3];
      res_ops[1] = captures[1];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_126 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1701 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2])) && (element_precision (TREE_TYPE (captures[2])) <= element_precision (TREE_TYPE (captures[3])) || !TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    {
      {
/* #line 1705 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1707, %s:%d\n", __FILE__, __LINE__);
	  *res_code = NOP_EXPR;
	  {
	    tree ops1[2], res;
	    {
	      tree ops2[1], res;
	      ops2[0] = captures[3];
	      if (shift_type != TREE_TYPE (ops2[0])
	          && !useless_type_conversion_p (shift_type, TREE_TYPE (ops2[0])))
		{
		  code_helper tem_code = NOP_EXPR;
		  tree tem_ops[3] = { ops2[0] };
		  gimple_resimplify1 (lseq, &tem_code, shift_type, tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
		  if (!res) return false;
	        }
	      else
	        res = ops2[0];
	      ops1[0] = res;
	    }
	    ops1[1] = captures[4];
	    code_helper tem_code = RSHIFT_EXPR;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_127 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0])) == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1]))) && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0])) == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[2]))))
    {
      {
/* #line 2391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 2408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (newtype))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2409, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      {
		tree ops1[1], res;
		ops1[0] = captures[1];
		if (newtype != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (newtype, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, newtype, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, newtype, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      {
		tree ops1[1], res;
		ops1[0] = captures[2];
		if (newtype != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (newtype, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, newtype, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, newtype, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[1] = res;
	      }
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_128 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (out))
{
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3073, %s:%d\n", __FILE__, __LINE__);
      *res_code = out;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = IMAGPART_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      res_ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_129 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2625, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[1];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_130 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	{
/* #line 1254 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_TRAPS (type) && tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1256, %s:%d\n", __FILE__, __LINE__);
	      *res_code = BIT_NOT_EXPR;
	      {
		tree ops1[1], res;
		ops1[0] = captures[0];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_131 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (logs), combined_fn ARG_UNUSED (pows))
{
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3210, %s:%d\n", __FILE__, __LINE__);
      *res_code = MULT_EXPR;
      res_ops[0] = captures[1];
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = logs;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_132 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop), enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:917, %s:%d\n", __FILE__, __LINE__);
  *res_code = bitop;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_133 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1558 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 unsigned int prec = element_precision (type);
/* #line 1559 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (wi::ge_p (captures[1], 0, TYPE_SIGN (TREE_TYPE (captures[1]))) && wi::lt_p (captures[1], prec, TYPE_SIGN (TREE_TYPE (captures[1]))) && wi::ge_p (captures[2], 0, TYPE_SIGN (TREE_TYPE (captures[2]))) && wi::lt_p (captures[2], prec, TYPE_SIGN (TREE_TYPE (captures[2]))))
	{
	  {
/* #line 1563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 unsigned int low = wi::add (captures[1], captures[2]).to_uhwi ();
/* #line 1566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (low >= prec)
		{
/* #line 1567 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (op == LROTATE_EXPR || op == RROTATE_EXPR)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1568, %s:%d\n", __FILE__, __LINE__);
		      *res_code = op;
		      res_ops[0] = captures[0];
		      res_ops[1] =  build_int_cst (TREE_TYPE (captures[1]), low % prec);
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
		  else
		    {
/* #line 1569 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1570, %s:%d\n", __FILE__, __LINE__);
			  res_ops[0] =  build_zero_cst (type);
			  *res_code = TREE_CODE (res_ops[0]);
			  return true;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1571, %s:%d\n", __FILE__, __LINE__);
			  *res_code = op;
			  res_ops[0] = captures[0];
			  res_ops[1] =  build_int_cst (TREE_TYPE (captures[1]), prec - 1);
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		    }
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1572, %s:%d\n", __FILE__, __LINE__);
		  *res_code = op;
		  res_ops[0] = captures[0];
		  res_ops[1] =  build_int_cst (TREE_TYPE (captures[1]), low);
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	  }
	}
  }
  return false;
}

static bool
gimple_simplify_134 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:928, %s:%d\n", __FILE__, __LINE__);
  *res_code = bitop;
  res_ops[0] = captures[0];
  {
    tree ops1[2], res;
    ops1[0] = captures[1];
    ops1[1] = captures[2];
    code_helper tem_code = bitop;
    tree tem_ops[3] = { ops1[0], ops1[1] };
    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[1] = res;
  }
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_135 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (SSA_NAME_IS_DEFAULT_DEF (captures[1]) && TREE_CODE (SSA_NAME_VAR (captures[1])) == PARM_DECL)
    {
      {
/* #line 2739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree base = get_base_address (TREE_OPERAND (captures[0], 0));
/* #line 2740 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TREE_CODE (base) == VAR_DECL && auto_var_in_fn_p (base, current_function_decl))
	    {
/* #line 2742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (cmp == NE_EXPR)
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2743, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  constant_boolean_node (true, type);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2744, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  constant_boolean_node (false, type);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_136 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 3645 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && INTEGRAL_TYPE_P (TREE_TYPE (captures[2])) && INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && (TYPE_PRECISION (TREE_TYPE (captures[2])) == GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (captures[2])))) && (TYPE_PRECISION (TREE_TYPE (captures[4])) == GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (captures[4])))) && TYPE_PRECISION (type) == GET_MODE_PRECISION (TYPE_MODE (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::bit_and (captures[5], wi::mask (TYPE_PRECISION (TREE_TYPE (captures[2])), true, TYPE_PRECISION (type))) == 0))
    {
/* #line 3665 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
	{
	  {
/* #line 3666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree ntype = TREE_TYPE (captures[2]);
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3667, %s:%d\n", __FILE__, __LINE__);
	      *res_code = NOP_EXPR;
	      {
		tree ops1[2], res;
		{
		  tree ops2[2], res;
		  ops2[0] = captures[2];
		  ops2[1] = captures[4];
		  code_helper tem_code = op;
		  tree tem_ops[3] = { ops2[0], ops2[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
		  if (!res) return false;
		  ops1[0] = res;
		}
		{
		  tree ops2[1], res;
		  ops2[0] = captures[5];
		  if (ntype != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (ntype, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, ntype, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, ntype, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[1] = res;
		}
		code_helper tem_code = BIT_AND_EXPR;
		tree tem_ops[3] = { ops1[0], ops1[1] };
		gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		if (!res) return false;
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	  }
	}
      else
	{
	  {
/* #line 3668 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3669, %s:%d\n", __FILE__, __LINE__);
	      *res_code = NOP_EXPR;
	      {
		tree ops1[2], res;
		{
		  tree ops2[2], res;
		  {
		    tree ops3[1], res;
		    ops3[0] = captures[2];
		    if (utype != TREE_TYPE (ops3[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (ops3[0])))
		      {
			code_helper tem_code = NOP_EXPR;
			tree tem_ops[3] = { ops3[0] };
			gimple_resimplify1 (lseq, &tem_code, utype, tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, utype, tem_ops, lseq);
			if (!res) return false;
		      }
		    else
		      res = ops3[0];
		    ops2[0] = res;
		  }
		  {
		    tree ops3[1], res;
		    ops3[0] = captures[4];
		    if (utype != TREE_TYPE (ops3[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (ops3[0])))
		      {
			code_helper tem_code = NOP_EXPR;
			tree tem_ops[3] = { ops3[0] };
			gimple_resimplify1 (lseq, &tem_code, utype, tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, utype, tem_ops, lseq);
			if (!res) return false;
		      }
		    else
		      res = ops3[0];
		    ops2[1] = res;
		  }
		  code_helper tem_code = op;
		  tree tem_ops[3] = { ops2[0], ops2[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
		  if (!res) return false;
		  ops1[0] = res;
		}
		{
		  tree ops2[1], res;
		  ops2[0] = captures[5];
		  if (utype != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, utype, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, utype, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[1] = res;
		}
		code_helper tem_code = BIT_AND_EXPR;
		tree tem_ops[3] = { ops1[0], ops1[1] };
		gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		if (!res) return false;
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_137 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2628, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[1];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_138 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2753 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1])) && wi::bit_and_not (captures[2], captures[3]) != 0)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2755, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (cmp == NE_EXPR, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_139 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1154 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1])) && !TYPE_OVERFLOW_SANITIZED (type))
	{
	  {
/* #line 1156 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree t1 = type;
 if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))) t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1163, %s:%d\n", __FILE__, __LINE__);
	      *res_code = NOP_EXPR;
	      {
		tree ops1[2], res;
		{
		  tree ops2[1], res;
		  ops2[0] = captures[0];
		  if (t1 != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (t1, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, t1, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, t1, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[0] = res;
		}
		{
		  tree ops2[1], res;
		  ops2[0] = captures[1];
		  if (t1 != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (t1, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, t1, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, t1, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[1] = res;
		}
		code_helper tem_code = MINUS_EXPR;
		tree tem_ops[3] = { ops1[0], ops1[1] };
		gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		if (!res) return false;
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_140 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (mod))
{
/* #line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[1]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:301, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_141 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (FMIN))
{
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_finite_math_only)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1434, %s:%d\n", __FILE__, __LINE__);
      *res_code = MIN_EXPR;
      res_ops[0] = captures[0];
      res_ops[1] = captures[1];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_142 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (COPYSIGN))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3265, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_143 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1978, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_NOT_EXPR;
  res_ops[0] = captures[0];
  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_144 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop), combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1982, %s:%d\n", __FILE__, __LINE__);
  *res_code = bitop;
  res_ops[0] = captures[0];
  {
    tree ops1[1], res;
    ops1[0] = captures[1];
    code_helper tem_code = bswap;
    tree tem_ops[3] = { ops1[0] };
    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[1] = res;
  }
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_145 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (POW))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ())
    {
/* #line 3304 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2]))
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[1])))
	    lseq = NULL;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3305, %s:%d\n", __FILE__, __LINE__);
	  *res_code = POW;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[2], res;
	    ops1[0] = captures[2];
	    ops1[1] =  build_one_cst (type);
	    code_helper tem_code = PLUS_EXPR;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_146 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shiftrotate))
{
  {
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 1528 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (tem)
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1529, %s:%d\n", __FILE__, __LINE__);
	  *res_code = shiftrotate;
	  res_ops[0] = captures[0];
	  res_ops[1] =  tem;
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
  }
  return false;
}

static bool
gimple_simplify_147 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if ((POINTER_TYPE_P (TREE_TYPE (captures[0])) && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[0]))) && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))) || (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])))))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2933, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      res_ops[0] = captures[0];
      {
	tree ops1[1], res;
	ops1[0] = captures[1];
	if (TREE_TYPE (res_ops[0]) != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (TREE_TYPE (res_ops[0]), TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (res_ops[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (res_ops[0]), tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_148 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (copysigns))
{
/* #line 476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:477, %s:%d\n", __FILE__, __LINE__);
      *res_code = NEGATE_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = ABS_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  else
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:478, %s:%d\n", __FILE__, __LINE__);
      *res_code = ABS_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_149 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:359, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[2], res;
	ops1[0] = captures[0];
	ops1[1] = captures[1];
	code_helper tem_code = TRUNC_MOD_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_150 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shift))
{
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1])) && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT && tree_fits_uhwi_p (captures[4]) && tree_to_uhwi (captures[4]) > 0 && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type))
    {
      {
/* #line 1610 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 unsigned int shiftc = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
 unsigned HOST_WIDE_INT newmask, zerobits = 0;
 tree shift_type = TREE_TYPE (captures[2]);
 unsigned int prec;
 if (shift == LSHIFT_EXPR) zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
 else if (shift == RSHIFT_EXPR && (TYPE_PRECISION (shift_type) == GET_MODE_PRECISION (TYPE_MODE (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_PRECISION (inner_type) == GET_MODE_PRECISION (TYPE_MODE (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 1666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1667, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_int_cst (type, 0);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
	      {
/* #line 1668 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 1669 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0)
		    {
		      {
/* #line 1670 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 for (prec = BITS_PER_UNIT;
 prec < HOST_BITS_PER_WIDE_INT;
 prec <<= 1) if (newmask == (HOST_WIDE_INT_1U << prec) - 1) break;
/* #line 1679 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT || newmask == HOST_WIDE_INT_M1U)
			    {
			      {
/* #line 1681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 1683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5]))
				    {
/* #line 1684 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1685, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  {
					    tree ops1[1], res;
					    {
					      tree ops2[2], res;
					      {
						tree ops3[1], res;
						ops3[0] = captures[2];
						if (shift_type != TREE_TYPE (ops3[0])
						    && !useless_type_conversion_p (shift_type, TREE_TYPE (ops3[0])))
						  {
						    code_helper tem_code = NOP_EXPR;
						    tree tem_ops[3] = { ops3[0] };
						    gimple_resimplify1 (lseq, &tem_code, shift_type, tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
						    if (!res) return false;
						  }
						else
						  res = ops3[0];
						ops2[0] = res;
					      }
					      ops2[1] = captures[4];
					      code_helper tem_code = shift;
					      tree tem_ops[3] = { ops2[0], ops2[1] };
					      gimple_resimplify2 (lseq, &tem_code, shift_type, tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
					      if (!res) return false;
					      ops1[0] = res;
					    }
					    if (type != TREE_TYPE (ops1[0])
					        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
					      {
						code_helper tem_code = NOP_EXPR;
						tree tem_ops[3] = { ops1[0] };
						gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
						if (!res) return false;
					      }
					    else
					      res = ops1[0];
					    res_ops[0] = res;
					  }
					  res_ops[1] =  newmaskt;
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1686, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  res_ops[0] = captures[0];
					  res_ops[1] =  newmaskt;
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_151 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (scmp))
{
/* #line 2326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (integer_zerop (captures[2]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2327, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      res_ops[0] = captures[2];
      res_ops[1] = captures[3];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  else
    {
/* #line 2328 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])) && single_use (captures[0]))
	{
/* #line 2332 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2333, %s:%d\n", __FILE__, __LINE__);
	      *res_code = scmp;
	      res_ops[0] = captures[1];
	      res_ops[1] = captures[3];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2334, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[1];
	      res_ops[1] = captures[3];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_152 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op), enum tree_code ARG_UNUSED (ext))
{
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3680, %s:%d\n", __FILE__, __LINE__);
      *res_code = op;
      res_ops[0] = captures[1];
      {
	tree ops1[2], res;
	ops1[0] = captures[2];
	ops1[1] = captures[4];
	code_helper tem_code = ext;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_153 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (! FLOAT_TYPE_P (type) && tree_nop_conversion_p (type, TREE_TYPE (captures[1])))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:510, %s:%d\n", __FILE__, __LINE__);
      *res_code = LSHIFT_EXPR;
      res_ops[0] = captures[0];
      res_ops[1] = captures[2];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_154 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[1])))
    lseq = NULL;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:659, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_AND_EXPR;
  {
    tree ops1[2], res;
    ops1[0] = captures[0];
    ops1[1] = captures[2];
    code_helper tem_code = PLUS_EXPR;
    tree tem_ops[3] = { ops1[0], ops1[1] };
    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[0] = res;
  }
  {
    tree ops1[1], res;
    ops1[0] = captures[2];
    code_helper tem_code = BIT_NOT_EXPR;
    tree tem_ops[3] = { ops1[0] };
    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[1] = res;
  }
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_155 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2356, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] =  constant_boolean_node (true, type);
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_156 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3])) && tree_nop_conversion_p (type, TREE_TYPE (captures[6])))
    {
/* #line 814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:815, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[6];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:817, %s:%d\n", __FILE__, __LINE__);
	      *res_code = op;
	      {
		tree ops1[1], res;
		ops1[0] = captures[3];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[4];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_157 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 3611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && INTEGRAL_TYPE_P (TREE_TYPE (captures[2])) && INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && (TYPE_PRECISION (TREE_TYPE (captures[2])) == GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (captures[2])))) && (TYPE_PRECISION (TREE_TYPE (captures[4])) == GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (captures[4])))) && TYPE_PRECISION (type) == GET_MODE_PRECISION (TYPE_MODE (type)) && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2])) && types_match (captures[2], type) && (types_match (captures[2], captures[4]) || TREE_CODE (captures[4]) == INTEGER_CST))
    {
/* #line 3631 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3632, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[2];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[4];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
	  {
/* #line 3633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3634, %s:%d\n", __FILE__, __LINE__);
	      *res_code = NOP_EXPR;
	      {
		tree ops1[2], res;
		{
		  tree ops2[1], res;
		  ops2[0] = captures[2];
		  if (utype != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, utype, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, utype, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[0] = res;
		}
		{
		  tree ops2[1], res;
		  ops2[0] = captures[4];
		  if (utype != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, utype, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, utype, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[1] = res;
		}
		code_helper tem_code = op;
		tree tem_ops[3] = { ops1[0], ops1[1] };
		gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		if (!res) return false;
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_158 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (div))
{
/* #line 158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!integer_zerop (captures[1]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:159, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_159 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop), enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:674, %s:%d\n", __FILE__, __LINE__);
  *res_code = bitop;
  res_ops[0] = captures[1];
  res_ops[1] = captures[2];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_160 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:861, %s:%d\n", __FILE__, __LINE__);
      *res_code = MULT_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[0] = res;
      }
      {
	tree ops1[1], res;
	{
	  tree ops2[1], res;
	  ops2[0] = captures[1];
	  code_helper tem_code = NEGATE_EXPR;
	  tree tem_ops[3] = { ops2[0] };
	  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[0] = res;
	}
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_161 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type) && 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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2249, %s:%d\n", __FILE__, __LINE__);
      *res_code = PLUS_EXPR;
      res_ops[0] = captures[0];
      {
	tree ops1[1], res;
	{
	  tree ops2[3], res;
	  ops2[0] = captures[2];
	  ops2[0] = unshare_expr (ops2[0]);
	  {
	    tree ops3[1], res;
	    ops3[0] = captures[3];
	    code_helper tem_code = NEGATE_EXPR;
	    tree tem_ops[3] = { ops3[0] };
	    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops3[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops3[0]), tem_ops, lseq);
	    if (!res) return false;
	    ops2[1] = res;
	  }
	  ops2[2] = captures[4];
	  code_helper tem_code = VEC_COND_EXPR;
	  tree tem_ops[3] = { ops2[0], ops2[1], ops2[2] };
	  gimple_resimplify3 (lseq, &tem_code, TREE_TYPE (ops2[1]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[1]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[0] = res;
	}
	code_helper tem_code = VIEW_CONVERT_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_162 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 222 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (type) && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:225, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  build_minus_one_cst (type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_163 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (acmp))
{
/* #line 2261 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_int_cst_sgn (captures[1]) == -1)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2262, %s:%d\n", __FILE__, __LINE__);
      *res_code = acmp;
      res_ops[0] = captures[0];
      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[1]), wi::add (captures[1], 1));
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_164 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:697, %s:%d\n", __FILE__, __LINE__);
  *res_code = PLUS_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[1];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_165 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:955, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] =  build_zero_cst (type);
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_166 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 987 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:989, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = NEGATE_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_167 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1701 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2])) && (element_precision (TREE_TYPE (captures[2])) <= element_precision (TREE_TYPE (captures[3])) || !TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    {
      {
/* #line 1705 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1707, %s:%d\n", __FILE__, __LINE__);
	  *res_code = NOP_EXPR;
	  {
	    tree ops1[2], res;
	    {
	      tree ops2[1], res;
	      ops2[0] = captures[3];
	      if (shift_type != TREE_TYPE (ops2[0])
	          && !useless_type_conversion_p (shift_type, TREE_TYPE (ops2[0])))
		{
		  code_helper tem_code = NOP_EXPR;
		  tree tem_ops[3] = { ops2[0] };
		  gimple_resimplify1 (lseq, &tem_code, shift_type, tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
		  if (!res) return false;
	        }
	      else
	        res = ops2[0];
	      ops1[0] = res;
	    }
	    ops1[1] = captures[4];
	    code_helper tem_code = RSHIFT_EXPR;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_168 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3])) && tree_nop_conversion_p (type, TREE_TYPE (captures[6])))
    {
/* #line 814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:815, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[6];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:817, %s:%d\n", __FILE__, __LINE__);
	      *res_code = op;
	      {
		tree ops1[1], res;
		ops1[0] = captures[3];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[4];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_169 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2628, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[1];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_170 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (test1), enum tree_code ARG_UNUSED (test2))
{
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2646, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (false, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_171 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1975, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_172 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (div))
{
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:177, %s:%d\n", __FILE__, __LINE__);
      *res_code = COND_EXPR;
      {
	tree ops1[2], res;
	ops1[0] = captures[0];
	ops1[1] =  build_zero_cst (type);
	code_helper tem_code = LT_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, boolean_type_node, tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, boolean_type_node, tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      res_ops[1] =  build_minus_one_cst (type);
      res_ops[2] =  build_one_cst (type);
      gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_173 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && !(targetm.have_canonicalize_funcptr_for_compare () && TREE_CODE (TREE_TYPE (captures[1])) == POINTER_TYPE && TREE_CODE (TREE_TYPE (TREE_TYPE (captures[1]))) == FUNCTION_TYPE) && single_use (captures[0]))
    {
/* #line 2683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0])) && (TREE_CODE (captures[3]) == INTEGER_CST || (captures[2] != captures[3] && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1])))) && (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])) == POINTER_TYPE_P (TREE_TYPE (captures[0]))))
	{
/* #line 2693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2694, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[1];
	      res_ops[1] =  force_fit_type (TREE_TYPE (captures[1]), wi::to_widest (captures[2]), 0, TREE_OVERFLOW (captures[2]));
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2696, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[1];
	      {
		tree ops1[1], res;
		ops1[0] = captures[2];
		if (TREE_TYPE (res_ops[0]) != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (TREE_TYPE (res_ops[0]), TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (res_ops[0]), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (res_ops[0]), tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[1] = res;
	      }
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
      else
	{
/* #line 2698 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1])))
	    {
/* #line 2700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if ((cmp == EQ_EXPR || cmp == NE_EXPR || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1])) || (!TYPE_UNSIGNED (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[1])))) && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1])) || ((TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[3]))) && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[3])))) || (TREE_CODE (captures[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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2712, %s:%d\n", __FILE__, __LINE__);
		  *res_code = cmp;
		  res_ops[0] = captures[1];
		  {
		    tree ops1[1], res;
		    ops1[0] = captures[3];
		    if (TREE_TYPE (res_ops[0]) != TREE_TYPE (ops1[0])
		        && !useless_type_conversion_p (TREE_TYPE (res_ops[0]), TREE_TYPE (ops1[0])))
		      {
			code_helper tem_code = NOP_EXPR;
			tree tem_ops[3] = { ops1[0] };
			gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (res_ops[0]), tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, TREE_TYPE (res_ops[0]), tem_ops, lseq);
			if (!res) return false;
		      }
		    else
		      res = ops1[0];
		    res_ops[1] = res;
		  }
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	      else
		{
/* #line 2713 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (TREE_CODE (captures[3]) == INTEGER_CST && INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && !int_fits_type_p (captures[3], TREE_TYPE (captures[1])))
		    {
		      {
/* #line 2716 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
 tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
 bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[3]));
 bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[3], min));
/* #line 2723 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (above || below)
			    {
/* #line 2724 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2725, %s:%d\n", __FILE__, __LINE__);
				  res_ops[0] =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
				  *res_code = TREE_CODE (res_ops[0]);
				  return true;
				}
			      else
				{
/* #line 2726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2727, %s:%d\n", __FILE__, __LINE__);
				      res_ops[0] =  constant_boolean_node (above ? true : false, type);
				      *res_code = TREE_CODE (res_ops[0]);
				      return true;
				    }
				  else
				    {
/* #line 2728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR)
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2729, %s:%d\n", __FILE__, __LINE__);
					  res_ops[0] =  constant_boolean_node (above ? false : true, type);
					  *res_code = TREE_CODE (res_ops[0]);
					  return true;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_174 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (POW))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3355, %s:%d\n", __FILE__, __LINE__);
      *res_code = MULT_EXPR;
      res_ops[0] = captures[0];
      {
	tree ops1[2], res;
	ops1[0] = captures[2];
	{
	  tree ops2[1], res;
	  ops2[0] = captures[3];
	  code_helper tem_code = NEGATE_EXPR;
	  tree tem_ops[3] = { ops2[0] };
	  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
	  if (!res) return false;
	  ops1[1] = res;
	}
	code_helper tem_code = POW;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_175 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (out))
{
/* #line 3063 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3065, %s:%d\n", __FILE__, __LINE__);
      *res_code = out;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = IMAGPART_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      res_ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_176 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1206, %s:%d\n", __FILE__, __LINE__);
	  *res_code = NEGATE_EXPR;
	  res_ops[0] = captures[1];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_177 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (rotate))
{
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if ((element_precision (TREE_TYPE (captures[2])) <= element_precision (TREE_TYPE (captures[3])) || !TYPE_UNSIGNED (TREE_TYPE (captures[3]))) && (element_precision (type) <= element_precision (TREE_TYPE (captures[2])) || !TYPE_UNSIGNED (TREE_TYPE (captures[2]))))
    {
      {
/* #line 1719 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1721, %s:%d\n", __FILE__, __LINE__);
	  *res_code = NOP_EXPR;
	  {
	    tree ops1[2], res;
	    {
	      tree ops2[1], res;
	      ops2[0] = captures[3];
	      if (rotate_type != TREE_TYPE (ops2[0])
	          && !useless_type_conversion_p (rotate_type, TREE_TYPE (ops2[0])))
		{
		  code_helper tem_code = NOP_EXPR;
		  tree tem_ops[3] = { ops2[0] };
		  gimple_resimplify1 (lseq, &tem_code, rotate_type, tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, rotate_type, tem_ops, lseq);
		  if (!res) return false;
	        }
	      else
	        res = ops2[0];
	      ops1[0] = res;
	    }
	    ops1[1] = captures[4];
	    code_helper tem_code = rotate;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[0] = res;
	  }
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_178 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (fns))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3250, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_179 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (froms), combined_fn ARG_UNUSED (tos))
{
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ())
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3476, %s:%d\n", __FILE__, __LINE__);
      *res_code = tos;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_180 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:767, %s:%d\n", __FILE__, __LINE__);
      *res_code = BIT_XOR_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[0] = res;
      }
      {
	tree ops1[1], res;
	ops1[0] = captures[1];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_181 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT off0, off1;
 tree base0 = get_addr_base_and_unit_offset (TREE_OPERAND (captures[1], 0), &off0);
 tree base1 = get_addr_base_and_unit_offset (TREE_OPERAND (captures[2], 0), &off1);
 if (base0 && TREE_CODE (base0) == MEM_REF) { off0 += mem_ref_offset (base0).to_short_addr ();
 base0 = TREE_OPERAND (base0, 0);
 } if (base1 && TREE_CODE (base1) == MEM_REF) { off1 += mem_ref_offset (base1).to_short_addr ();
 base1 = TREE_OPERAND (base1, 0);
 }/* #line 2857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (base0 && base1)
	{
	  {
/* #line 2858 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 int equal = 2;
 if (0 && ((VAR_P (base0) && DECL_HAS_VALUE_EXPR_P (base0)) || (VAR_P (base1) && DECL_HAS_VALUE_EXPR_P (base1)))) ;
 else if (decl_in_symtab_p (base0) && decl_in_symtab_p (base1)) equal = symtab_node::get_create (base0) ->equal_address_to (symtab_node::get_create (base1));
 else if ((DECL_P (base0) || TREE_CODE (base0) == SSA_NAME || TREE_CODE (base0) == STRING_CST) && (DECL_P (base1) || TREE_CODE (base1) == SSA_NAME || TREE_CODE (base1) == STRING_CST)) equal = (base0 == base1);
/* #line 2880 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (equal == 1 && (cmp == EQ_EXPR || cmp == NE_EXPR || off0 == off1 || POINTER_TYPE_OVERFLOW_UNDEFINED || (POINTER_TYPE_P (TREE_TYPE (captures[0])) && (DECL_P (base0) || TREE_CODE (base0) == STRING_CST))))
		{
/* #line 2889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (cmp == EQ_EXPR)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2890, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] =  constant_boolean_node (off0 == off1, type);
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 2891 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == NE_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2892, %s:%d\n", __FILE__, __LINE__);
			  res_ops[0] =  constant_boolean_node (off0 != off1, type);
			  *res_code = TREE_CODE (res_ops[0]);
			  return true;
			}
		      else
			{
/* #line 2893 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == LT_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2894, %s:%d\n", __FILE__, __LINE__);
			      res_ops[0] =  constant_boolean_node (off0 < off1, type);
			      *res_code = TREE_CODE (res_ops[0]);
			      return true;
			    }
			  else
			    {
/* #line 2895 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == LE_EXPR)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2896, %s:%d\n", __FILE__, __LINE__);
				  res_ops[0] =  constant_boolean_node (off0 <= off1, type);
				  *res_code = TREE_CODE (res_ops[0]);
				  return true;
				}
			      else
				{
/* #line 2897 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (cmp == GE_EXPR)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2898, %s:%d\n", __FILE__, __LINE__);
				      res_ops[0] =  constant_boolean_node (off0 >= off1, type);
				      *res_code = TREE_CODE (res_ops[0]);
				      return true;
				    }
				  else
				    {
/* #line 2899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (cmp == GT_EXPR)
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2900, %s:%d\n", __FILE__, __LINE__);
					  res_ops[0] =  constant_boolean_node (off0 > off1, type);
					  *res_code = TREE_CODE (res_ops[0]);
					  return true;
					}
				    }
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 2901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (equal == 0 && DECL_P (base0) && DECL_P (base1) && (!INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || off0 == off1))
		    {
/* #line 2907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == EQ_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2908, %s:%d\n", __FILE__, __LINE__);
			  res_ops[0] =  constant_boolean_node (false, type);
			  *res_code = TREE_CODE (res_ops[0]);
			  return true;
			}
		      else
			{
/* #line 2909 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == NE_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2910, %s:%d\n", __FILE__, __LINE__);
			      res_ops[0] =  constant_boolean_node (true, type);
			      *res_code = TREE_CODE (res_ops[0]);
			      return true;
			    }
			}
		    }
		}
	  }
	}
  }
  return false;
}

static bool
gimple_simplify_182 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (neeq))
{
/* #line 2916 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (POINTER_TYPE_P (TREE_TYPE (captures[0])) && ptrs_compare_unequal (captures[0], captures[1]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2918, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  neeq == EQ_EXPR ? boolean_false_node : boolean_true_node;
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_183 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1355 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (TREE_CODE (type) != COMPLEX_TYPE && (! ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_UNDEFINED (type)))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1358, %s:%d\n", __FILE__, __LINE__);
      *res_code = ABS_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_184 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (froms), combined_fn ARG_UNUSED (tos))
{
/* #line 3442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ())
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3445, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = tos;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_185 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (mod))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:320, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_186 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (FMAX))
{
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_finite_math_only)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1437, %s:%d\n", __FILE__, __LINE__);
      *res_code = MAX_EXPR;
      res_ops[0] = captures[0];
      res_ops[1] = captures[1];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_187 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3])) && tree_nop_conversion_p (type, TREE_TYPE (captures[6])))
    {
/* #line 814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:815, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[6];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:817, %s:%d\n", __FILE__, __LINE__);
	      *res_code = op;
	      {
		tree ops1[1], res;
		ops1[0] = captures[3];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[4];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_188 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2])) || POINTER_TYPE_P (TREE_TYPE (captures[2]))) && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1])))
    {
      {
/* #line 2943 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree arg1_type = TREE_TYPE (captures[2]);
 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 2952 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (wi::eq_p (captures[2], max))
	    {
/* #line 2954 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (cmp == GT_EXPR)
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2955, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  constant_boolean_node (false, type);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 2956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (cmp == GE_EXPR)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2957, %s:%d\n", __FILE__, __LINE__);
		      *res_code = EQ_EXPR;
		      res_ops[0] = captures[0];
		      res_ops[1] = captures[2];
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
		  else
		    {
/* #line 2958 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2959, %s:%d\n", __FILE__, __LINE__);
			  res_ops[0] =  constant_boolean_node (true, type);
			  *res_code = TREE_CODE (res_ops[0]);
			  return true;
			}
		      else
			{
/* #line 2960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == LT_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2961, %s:%d\n", __FILE__, __LINE__);
			      *res_code = NE_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] = captures[2];
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 2962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (wi::eq_p (captures[2], min))
		{
/* #line 2964 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (cmp == LT_EXPR)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2965, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] =  constant_boolean_node (false, type);
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 2966 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == LE_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2967, %s:%d\n", __FILE__, __LINE__);
			  *res_code = EQ_EXPR;
			  res_ops[0] = captures[0];
			  res_ops[1] = captures[2];
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		      else
			{
/* #line 2968 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2969, %s:%d\n", __FILE__, __LINE__);
			      res_ops[0] =  constant_boolean_node (true, type);
			      *res_code = TREE_CODE (res_ops[0]);
			      return true;
			    }
			  else
			    {
/* #line 2970 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == GT_EXPR)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2971, %s:%d\n", __FILE__, __LINE__);
				  *res_code = NE_EXPR;
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[2];
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 2972 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (wi::eq_p (captures[2], max - 1))
		    {
/* #line 2974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (cmp == GT_EXPR)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2975, %s:%d\n", __FILE__, __LINE__);
			  *res_code = EQ_EXPR;
			  res_ops[0] = captures[0];
			  res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), wi::add (captures[2], 1));
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		      else
			{
/* #line 2976 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == LE_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2977, %s:%d\n", __FILE__, __LINE__);
			      *res_code = NE_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), wi::add (captures[2], 1));
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			}
		    }
		  else
		    {
/* #line 2978 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (wi::eq_p (captures[2], min + 1))
			{
/* #line 2980 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (cmp == GE_EXPR)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2981, %s:%d\n", __FILE__, __LINE__);
			      *res_code = NE_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), wi::sub (captures[2], 1));
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			  else
			    {
/* #line 2982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == LT_EXPR)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2983, %s:%d\n", __FILE__, __LINE__);
				  *res_code = EQ_EXPR;
				  res_ops[0] = captures[0];
				  res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), wi::sub (captures[2], 1));
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			}
		      else
			{
/* #line 2984 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (wi::eq_p (captures[2], signed_max) && TYPE_UNSIGNED (arg1_type) && prec == GET_MODE_PRECISION (TYPE_MODE (arg1_type)) && INTEGRAL_TYPE_P (arg1_type))
			    {
/* #line 2995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR)
				{
				  {
/* #line 2996 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree st = signed_type_for (arg1_type);
/* #line 2997 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (cmp == LE_EXPR)
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2998, %s:%d\n", __FILE__, __LINE__);
					  *res_code = GE_EXPR;
					  {
					    tree ops1[1], res;
					    ops1[0] = captures[1];
					    if (st != TREE_TYPE (ops1[0])
					        && !useless_type_conversion_p (st, TREE_TYPE (ops1[0])))
					      {
						code_helper tem_code = NOP_EXPR;
						tree tem_ops[3] = { ops1[0] };
						gimple_resimplify1 (lseq, &tem_code, st, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, st, tem_ops, lseq);
						if (!res) return false;
					      }
					    else
					      res = ops1[0];
					    res_ops[0] = res;
					  }
					  res_ops[1] =  build_zero_cst (st);
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2999, %s:%d\n", __FILE__, __LINE__);
					  *res_code = LT_EXPR;
					  {
					    tree ops1[1], res;
					    ops1[0] = captures[1];
					    if (st != TREE_TYPE (ops1[0])
					        && !useless_type_conversion_p (st, TREE_TYPE (ops1[0])))
					      {
						code_helper tem_code = NOP_EXPR;
						tree tem_ops[3] = { ops1[0] };
						gimple_resimplify1 (lseq, &tem_code, st, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, st, tem_ops, lseq);
						if (!res) return false;
					      }
					    else
					      res = ops1[0];
					    res_ops[0] = res;
					  }
					  res_ops[1] =  build_zero_cst (st);
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_189 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:148, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_190 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (inner_op), enum tree_code ARG_UNUSED (outer_op))
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	{
	  {
/* #line 1219 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree cst = const_binop (outer_op == inner_op ? PLUS_EXPR : MINUS_EXPR, type, captures[1], captures[2]);
/* #line 1221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (cst && !TREE_OVERFLOW (cst))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1222, %s:%d\n", __FILE__, __LINE__);
		  *res_code = inner_op;
		  res_ops[0] = captures[0];
		  res_ops[1] =  cst;
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_191 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[1])) && tree_nop_conversion_p (type, TREE_TYPE (captures[4])) && wi::bit_and (captures[2], captures[5]) == 0)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:754, %s:%d\n", __FILE__, __LINE__);
      *res_code = BIT_IOR_EXPR;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[0] = res;
      }
      {
	tree ops1[1], res;
	ops1[0] = captures[3];
	if (type != TREE_TYPE (ops1[0])
	    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	  {
	    code_helper tem_code = NOP_EXPR;
	    tree tem_ops[3] = { ops1[0] };
	    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
	    if (!res) return false;
	  }
	else
	  res = ops1[0];
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_192 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (mod))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:305, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] =  build_zero_cst (type);
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_193 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op), enum tree_code ARG_UNUSED (rop), enum tree_code ARG_UNUSED (cmp))
{
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3]) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
    {
      {
/* #line 3716 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 3717 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3718, %s:%d\n", __FILE__, __LINE__);
 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 (captures[2], 0, TYPE_SIGN (TREE_TYPE (captures[2]))) != (op == MINUS_EXPR);
	      res_ops[0] =  constant_boolean_node (less == ovf_high, type);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
/* #line 3728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (single_use (captures[0]))
		{
		  {
/* #line 3729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 fold_overflow_warning (("assuming signed overflow does not occur " "when changing X +- C1 cmp C2 to " "X cmp C2 -+ C1"), WARN_STRICT_OVERFLOW_COMPARISON);
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3736, %s:%d\n", __FILE__, __LINE__);
		      *res_code = cmp;
		      res_ops[0] = captures[1];
		      res_ops[1] =  res;
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		  }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_194 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2822 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[0])))
    {
      {
/* #line 2823 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 int shift = element_precision (captures[0]) - wi::exact_log2 (captures[1]) - 1;
/* #line 2826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (shift >= 0)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2827, %s:%d\n", __FILE__, __LINE__);
	      *res_code = BIT_AND_EXPR;
	      {
		tree ops1[1], res;
		{
		  tree ops2[2], res;
		  ops2[0] = captures[0];
		  ops2[1] =  build_int_cst (integer_type_node, shift);
		  code_helper tem_code = RSHIFT_EXPR;
		  tree tem_ops[3] = { ops2[0], ops2[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
		  if (!res) return false;
		  ops1[0] = res;
		}
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[1];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2832, %s:%d\n", __FILE__, __LINE__);
	      *res_code = BIT_AND_EXPR;
	      {
		tree ops1[1], res;
		ops1[0] = captures[0];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[1];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_195 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 1468 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (wi::lt_p (captures[1], captures[2], TYPE_SIGN (TREE_TYPE (captures[0]))))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1469, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (cmp == NE_EXPR, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  else
    {
/* #line 1470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (wi::gt_p (captures[1], captures[2], TYPE_SIGN (TREE_TYPE (captures[0]))))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1471, %s:%d\n", __FILE__, __LINE__);
	  *res_code = cmp;
	  res_ops[0] = captures[0];
	  res_ops[1] = captures[2];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_196 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (SIN), combined_fn ARG_UNUSED (TAN), combined_fn ARG_UNUSED (COS))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ())
    {
/* #line 3320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3322, %s:%d\n", __FILE__, __LINE__);
	  *res_code = COS;
	  res_ops[0] = captures[1];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_197 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (inner_op), enum tree_code ARG_UNUSED (outer_op))
{
  {
/* #line 1054 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 bool fail = false;
 wide_int zero_mask_not;
 wide_int C0;
 wide_int cst_emit;
 if (TREE_CODE (captures[1]) == SSA_NAME) zero_mask_not = get_nonzero_bits (captures[1]);
 else fail = true;
 if (inner_op == BIT_XOR_EXPR) { C0 = wi::bit_and_not (captures[2], captures[3]);
 cst_emit = wi::bit_or (C0, captures[3]);
 } else { C0 = captures[2];
 cst_emit = wi::bit_xor (captures[2], captures[3]);
 }/* #line 1077 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (!fail && wi::bit_and (C0, zero_mask_not) == 0)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1078, %s:%d\n", __FILE__, __LINE__);
	  *res_code = outer_op;
	  res_ops[0] = captures[1];
	  res_ops[1] =  wide_int_to_tree (type, cst_emit);
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 1079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!fail && wi::bit_and (captures[3], zero_mask_not) == 0)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1080, %s:%d\n", __FILE__, __LINE__);
	      *res_code = inner_op;
	      res_ops[0] = captures[1];
	      res_ops[1] =  wide_int_to_tree (type, cst_emit);
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_198 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1963, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_199 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[3])) && tree_nop_conversion_p (type, TREE_TYPE (captures[6])))
    {
/* #line 814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:815, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[6];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:817, %s:%d\n", __FILE__, __LINE__);
	      *res_code = op;
	      {
		tree ops1[1], res;
		ops1[0] = captures[3];
		if (type != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[0] = res;
	      }
	      res_ops[1] = captures[4];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_200 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1])) && (cmp != LTGT_EXPR || ! flag_trapping_math))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3007, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] =  constant_boolean_node (cmp == ORDERED_EXPR || cmp == LTGT_EXPR ? false : true, type);
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  return false;
}

static bool
gimple_simplify_201 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1134 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (POINTER_TYPE_P (TREE_TYPE (captures[0])) && tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
    {
      {
/* #line 1136 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 unsigned int align;
 unsigned HOST_WIDE_INT bitpos;
 get_pointer_alignment_1 (captures[0], &align, &bitpos);
/* #line 1142 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (wi::ltu_p (captures[1], align / BITS_PER_UNIT))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1143, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  wide_int_to_tree (type, wi::bit_and (captures[1], bitpos / BITS_PER_UNIT));
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_202 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2360, %s:%d\n", __FILE__, __LINE__);
  *res_code = UNORDERED_EXPR;
  res_ops[0] = captures[0];
  res_ops[1] = captures[0];
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_203 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (fns))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3245, %s:%d\n", __FILE__, __LINE__);
  *res_code = fns;
  res_ops[0] = captures[0];
  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_204 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:977, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      {
	tree ops1[2], res;
	ops1[0] = captures[0];
	ops1[1] =  build_each_one_cst (TREE_TYPE (captures[0]));
	code_helper tem_code = MINUS_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_205 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op), enum tree_code ARG_UNUSED (rop), enum tree_code ARG_UNUSED (cmp))
{
/* #line 3699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3]) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1])) && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[1])) && !TYPE_SATURATING (TREE_TYPE (captures[1])))
    {
      {
/* #line 3703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 3704 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3706, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  constant_boolean_node (cmp == NE_EXPR, type);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
/* #line 3707 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (single_use (captures[0]))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3708, %s:%d\n", __FILE__, __LINE__);
		  *res_code = cmp;
		  res_ops[0] = captures[1];
		  res_ops[1] =  res;
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_206 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (COPYSIGN))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3270, %s:%d\n", __FILE__, __LINE__);
  *res_code = ABS_EXPR;
  res_ops[0] = captures[0];
  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_207 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3276, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_208 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (div))
{
/* #line 163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:164, %s:%d\n", __FILE__, __LINE__);
      *res_code = NEGATE_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_209 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op), enum tree_code ARG_UNUSED (cmp))
{
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations)
    {
      {
/* #line 2477 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_binop (op == PLUS_EXPR ? MINUS_EXPR : PLUS_EXPR, TREE_TYPE (captures[1]), captures[2], captures[1]);
/* #line 2482 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2483, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[0];
	      res_ops[1] =  tem;
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_210 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (pows), combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 451 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0)
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:452, %s:%d\n", __FILE__, __LINE__);
	  *res_code = pows;
	  res_ops[0] = captures[0];
	  res_ops[1] = captures[2];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
  }
  return false;
}

static bool
gimple_simplify_211 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_associative_math)
    {
      {
/* #line 2492 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
/* #line 2493 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2494, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] =  tem;
	      res_ops[1] = captures[1];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_212 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (bitop), enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:912, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_213 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (POW))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3339, %s:%d\n", __FILE__, __LINE__);
      *res_code = POW;
      {
	tree ops1[2], res;
	ops1[0] = captures[1];
	ops1[1] = captures[4];
	code_helper tem_code = MULT_EXPR;
	tree tem_ops[3] = { ops1[0], ops1[1] };
	gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      res_ops[1] = captures[2];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_214 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0])) && tree_expr_nonzero_p (captures[1]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1021, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      res_ops[0] = captures[0];
      res_ops[1] = captures[2];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_215 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (single_use (captures[0]))
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2315, %s:%d\n", __FILE__, __LINE__);
      *res_code = cmp;
      res_ops[0] = captures[1];
      res_ops[1] = captures[2];
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_216 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:960, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] =  constant_boolean_node (true, type);
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_217 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (minmax), enum tree_code ARG_UNUSED (maxmin))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[2])))
    lseq = NULL;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1453, %s:%d\n", __FILE__, __LINE__);
  *res_code = BIT_NOT_EXPR;
  {
    tree ops1[2], res;
    ops1[0] = captures[1];
    ops1[1] = captures[3];
    code_helper tem_code = maxmin;
    tree tem_ops[3] = { ops1[0], ops1[1] };
    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
    if (!res) return false;
    res_ops[0] = res;
  }
  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_218 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (ncmp))
{
/* #line 2808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && (TYPE_PRECISION (TREE_TYPE (captures[1])) == GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (captures[1])))) && element_precision (captures[0]) >= element_precision (captures[1]) && wi::only_sign_bit_p (captures[2], element_precision (captures[1])))
    {
      {
/* #line 2813 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2814, %s:%d\n", __FILE__, __LINE__);
	  *res_code = ncmp;
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[1];
	    if (stype != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (stype, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, stype, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, stype, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[0] = res;
	  }
	  res_ops[1] =  build_zero_cst (stype);
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_219 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type))
    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1203, %s:%d\n", __FILE__, __LINE__);
	  res_ops[0] = captures[0];
	  *res_code = TREE_CODE (res_ops[0]);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_220 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (scmp))
{
/* #line 2378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2380, %s:%d\n", __FILE__, __LINE__);
      *res_code = scmp;
      res_ops[0] = captures[1];
      {
	tree ops1[1], res;
	ops1[0] = captures[2];
	code_helper tem_code = BIT_NOT_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	if (!res) return false;
	res_ops[1] = res;
      }
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_221 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (out))
{
/* #line 3063 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3065, %s:%d\n", __FILE__, __LINE__);
      *res_code = out;
      {
	tree ops1[1], res;
	ops1[0] = captures[0];
	code_helper tem_code = IMAGPART_EXPR;
	tree tem_ops[3] = { ops1[0] };
	gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
	res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
	if (!res) return false;
	res_ops[0] = res;
      }
      res_ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_222 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, combined_fn ARG_UNUSED (POW))
{
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ())
    {
/* #line 3304 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2]))
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[1])))
	    lseq = NULL;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3305, %s:%d\n", __FILE__, __LINE__);
	  *res_code = POW;
	  res_ops[0] = captures[0];
	  {
	    tree ops1[2], res;
	    ops1[0] = captures[2];
	    ops1[1] =  build_one_cst (type);
	    code_helper tem_code = PLUS_EXPR;
	    tree tem_ops[3] = { ops1[0], ops1[1] };
	    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	    if (!res) return false;
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  return false;
}

static bool
gimple_simplify_223 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp))
{
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && !(targetm.have_canonicalize_funcptr_for_compare () && TREE_CODE (TREE_TYPE (captures[1])) == POINTER_TYPE && TREE_CODE (TREE_TYPE (TREE_TYPE (captures[1]))) == FUNCTION_TYPE) && single_use (captures[0]))
    {
/* #line 2683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0])) && (TREE_CODE (captures[3]) == INTEGER_CST || (captures[2] != captures[3] && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1])))) && (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])) == POINTER_TYPE_P (TREE_TYPE (captures[0]))))
	{
/* #line 2693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2694, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[1];
	      res_ops[1] =  force_fit_type (TREE_TYPE (captures[1]), wi::to_widest (captures[2]), 0, TREE_OVERFLOW (captures[2]));
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2696, %s:%d\n", __FILE__, __LINE__);
	      *res_code = cmp;
	      res_ops[0] = captures[1];
	      {
		tree ops1[1], res;
		ops1[0] = captures[2];
		if (TREE_TYPE (res_ops[0]) != TREE_TYPE (ops1[0])
		    && !useless_type_conversion_p (TREE_TYPE (res_ops[0]), TREE_TYPE (ops1[0])))
		  {
		    code_helper tem_code = NOP_EXPR;
		    tree tem_ops[3] = { ops1[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (res_ops[0]), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (res_ops[0]), tem_ops, lseq);
		    if (!res) return false;
		  }
		else
		  res = ops1[0];
		res_ops[1] = res;
	      }
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
      else
	{
/* #line 2698 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1])))
	    {
/* #line 2700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if ((cmp == EQ_EXPR || cmp == NE_EXPR || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1])) || (!TYPE_UNSIGNED (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[1])))) && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1])) || ((TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[3]))) && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[3])))) || (TREE_CODE (captures[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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2712, %s:%d\n", __FILE__, __LINE__);
		  *res_code = cmp;
		  res_ops[0] = captures[1];
		  {
		    tree ops1[1], res;
		    ops1[0] = captures[3];
		    if (TREE_TYPE (res_ops[0]) != TREE_TYPE (ops1[0])
		        && !useless_type_conversion_p (TREE_TYPE (res_ops[0]), TREE_TYPE (ops1[0])))
		      {
			code_helper tem_code = NOP_EXPR;
			tree tem_ops[3] = { ops1[0] };
			gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (res_ops[0]), tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, TREE_TYPE (res_ops[0]), tem_ops, lseq);
			if (!res) return false;
		      }
		    else
		      res = ops1[0];
		    res_ops[1] = res;
		  }
		  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		  return true;
		}
	      else
		{
/* #line 2713 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (TREE_CODE (captures[3]) == INTEGER_CST && INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && !int_fits_type_p (captures[3], TREE_TYPE (captures[1])))
		    {
		      {
/* #line 2716 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
 tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
 bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[3]));
 bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[3], min));
/* #line 2723 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (above || below)
			    {
/* #line 2724 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2725, %s:%d\n", __FILE__, __LINE__);
				  res_ops[0] =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
				  *res_code = TREE_CODE (res_ops[0]);
				  return true;
				}
			      else
				{
/* #line 2726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2727, %s:%d\n", __FILE__, __LINE__);
				      res_ops[0] =  constant_boolean_node (above ? true : false, type);
				      *res_code = TREE_CODE (res_ops[0]);
				      return true;
				    }
				  else
				    {
/* #line 2728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR)
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2729, %s:%d\n", __FILE__, __LINE__);
					  res_ops[0] =  constant_boolean_node (above ? false : true, type);
					  *res_code = TREE_CODE (res_ops[0]);
					  return true;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_224 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (op))
{
/* #line 3611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && INTEGRAL_TYPE_P (TREE_TYPE (captures[2])) && INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && (TYPE_PRECISION (TREE_TYPE (captures[2])) == GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (captures[2])))) && (TYPE_PRECISION (TREE_TYPE (captures[4])) == GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (captures[4])))) && TYPE_PRECISION (type) == GET_MODE_PRECISION (TYPE_MODE (type)) && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2])) && types_match (captures[2], type) && (types_match (captures[2], captures[4]) || TREE_CODE (captures[4]) == INTEGER_CST))
    {
/* #line 3631 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3632, %s:%d\n", __FILE__, __LINE__);
	  *res_code = op;
	  res_ops[0] = captures[2];
	  {
	    tree ops1[1], res;
	    ops1[0] = captures[4];
	    if (type != TREE_TYPE (ops1[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
	      {
		code_helper tem_code = NOP_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		if (!res) return false;
	      }
	    else
	      res = ops1[0];
	    res_ops[1] = res;
	  }
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
	  {
/* #line 3633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3634, %s:%d\n", __FILE__, __LINE__);
	      *res_code = NOP_EXPR;
	      {
		tree ops1[2], res;
		{
		  tree ops2[1], res;
		  ops2[0] = captures[2];
		  if (utype != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, utype, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, utype, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[0] = res;
		}
		{
		  tree ops2[1], res;
		  ops2[0] = captures[4];
		  if (utype != TREE_TYPE (ops2[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (ops2[0])))
		    {
		      code_helper tem_code = NOP_EXPR;
		      tree tem_ops[3] = { ops2[0] };
		      gimple_resimplify1 (lseq, &tem_code, utype, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, utype, tem_ops, lseq);
		      if (!res) return false;
		    }
		  else
		    res = ops2[0];
		  ops1[1] = res;
		}
		code_helper tem_code = op;
		tree tem_ops[3] = { ops1[0], ops1[1] };
		gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		if (!res) return false;
		res_ops[0] = res;
	      }
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_225 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1343, %s:%d\n", __FILE__, __LINE__);
  res_ops[0] = captures[0];
  *res_code = TREE_CODE (res_ops[0]);
  return true;
  return false;
}

static bool
gimple_simplify_226 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (acmp))
{
/* #line 2267 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_int_cst_sgn (captures[1]) == 1)
    {
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2268, %s:%d\n", __FILE__, __LINE__);
      *res_code = acmp;
      res_ops[0] = captures[0];
      res_ops[1] =  wide_int_to_tree (TREE_TYPE (captures[1]), wi::sub (captures[1], 1));
      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  return false;
}

static bool
gimple_simplify_227 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (minmax), enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (comb))
{
  gimple_seq *lseq = seq;
  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1485, %s:%d\n", __FILE__, __LINE__);
  *res_code = comb;
  {
    tree ops1[2], res;
    ops1[0] = captures[0];
    ops1[1] = captures[2];
    code_helper tem_code = cmp;
    tree tem_ops[3] = { ops1[0], ops1[1] };
    gimple_resimplify2 (lseq, &tem_code, type, tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
    if (!res) return false;
    res_ops[0] = res;
  }
  {
    tree ops1[2], res;
    ops1[0] = captures[1];
    ops1[1] = captures[2];
    code_helper tem_code = cmp;
    tree tem_ops[3] = { ops1[0], ops1[1] };
    gimple_resimplify2 (lseq, &tem_code, type, tem_ops, valueize);
    res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
    if (!res) return false;
    res_ops[1] = res;
  }
  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
  return true;
  return false;
}

static bool
gimple_simplify_228 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (shift))
{
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1])) && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT && tree_fits_uhwi_p (captures[4]) && tree_to_uhwi (captures[4]) > 0 && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type))
    {
      {
/* #line 1610 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 unsigned int shiftc = tree_to_uhwi (captures[4]);
 unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
 unsigned HOST_WIDE_INT newmask, zerobits = 0;
 tree shift_type = TREE_TYPE (captures[2]);
 unsigned int prec;
 if (shift == LSHIFT_EXPR) zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
 else if (shift == RSHIFT_EXPR && (TYPE_PRECISION (shift_type) == GET_MODE_PRECISION (TYPE_MODE (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_PRECISION (inner_type) == GET_MODE_PRECISION (TYPE_MODE (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 1666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1667, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_int_cst (type, 0);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
	      {
/* #line 1668 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 1669 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0)
		    {
		      {
/* #line 1670 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 for (prec = BITS_PER_UNIT;
 prec < HOST_BITS_PER_WIDE_INT;
 prec <<= 1) if (newmask == (HOST_WIDE_INT_1U << prec) - 1) break;
/* #line 1679 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT || newmask == HOST_WIDE_INT_M1U)
			    {
			      {
/* #line 1681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 1683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5]))
				    {
/* #line 1684 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1685, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  {
					    tree ops1[1], res;
					    {
					      tree ops2[2], res;
					      {
						tree ops3[1], res;
						ops3[0] = captures[2];
						if (shift_type != TREE_TYPE (ops3[0])
						    && !useless_type_conversion_p (shift_type, TREE_TYPE (ops3[0])))
						  {
						    code_helper tem_code = NOP_EXPR;
						    tree tem_ops[3] = { ops3[0] };
						    gimple_resimplify1 (lseq, &tem_code, shift_type, tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
						    if (!res) return false;
						  }
						else
						  res = ops3[0];
						ops2[0] = res;
					      }
					      ops2[1] = captures[4];
					      code_helper tem_code = shift;
					      tree tem_ops[3] = { ops2[0], ops2[1] };
					      gimple_resimplify2 (lseq, &tem_code, shift_type, tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, shift_type, tem_ops, lseq);
					      if (!res) return false;
					      ops1[0] = res;
					    }
					    if (type != TREE_TYPE (ops1[0])
					        && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
					      {
						code_helper tem_code = NOP_EXPR;
						tree tem_ops[3] = { ops1[0] };
						gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
						if (!res) return false;
					      }
					    else
					      res = ops1[0];
					    res_ops[0] = res;
					  }
					  res_ops[1] =  newmaskt;
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1686, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  res_ops[0] = captures[0];
					  res_ops[1] =  newmaskt;
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_229 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, enum tree_code ARG_UNUSED (cmp), enum tree_code ARG_UNUSED (icmp), enum tree_code ARG_UNUSED (ncmp))
{
  {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison (cmp, HONOR_NANS (captures[0]));
/* #line 2301 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (ic == icmp)
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2302, %s:%d\n", __FILE__, __LINE__);
	  *res_code = icmp;
	  res_ops[0] = captures[0];
	  res_ops[1] = captures[1];
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      else
	{
/* #line 2303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (ic == ncmp)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2304, %s:%d\n", __FILE__, __LINE__);
	      *res_code = ncmp;
	      res_ops[0] = captures[0];
	      res_ops[1] = captures[1];
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSF;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSF;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:443, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_COSF;
			    res_ops[0] = captures[0];
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COS (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COS;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COS;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:443, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_COS;
			    res_ops[0] = captures[0];
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSL;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSL;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:443, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_COSL;
			    res_ops[0] = captures[0];
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_COS (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_COS;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_COS;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:443, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_COS;
			    res_ops[0] = captures[0];
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSHF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSHF;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSHF;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:443, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_COSHF;
			    res_ops[0] = captures[0];
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSH (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSH;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSH;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:443, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_COSH;
			    res_ops[0] = captures[0];
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSHL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSHL;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:405, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_COSHL;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:443, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_COSHL;
			    res_ops[0] = captures[0];
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:496, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CCOSF;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOS (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:496, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CCOS;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:496, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CCOSL;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSHF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:496, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CCOSHF;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSH (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:496, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CCOSH;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSHL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:496, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CCOSHL;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CABSF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CONJ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:503, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CABSF;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:503, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CABSF;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (real_zerop (o21))
			    {
			      {
/* #line 3239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3239, %s:%d\n", __FILE__, __LINE__);
				*res_code = ABS_EXPR;
				res_ops[0] = captures[0];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    }
			  if (real_zerop (o20))
			    {
			      {
/* #line 3239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3239, %s:%d\n", __FILE__, __LINE__);
				*res_code = ABS_EXPR;
				res_ops[0] = captures[0];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    }
			  if (o21 == o20 || (operand_equal_p (o21, o20, 0) && types_match (o21, o20)))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3400, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = ABS_EXPR;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CABS (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CONJ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:503, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CABS;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:503, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CABS;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (real_zerop (o21))
			    {
			      {
/* #line 3239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3239, %s:%d\n", __FILE__, __LINE__);
				*res_code = ABS_EXPR;
				res_ops[0] = captures[0];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    }
			  if (real_zerop (o20))
			    {
			      {
/* #line 3239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3239, %s:%d\n", __FILE__, __LINE__);
				*res_code = ABS_EXPR;
				res_ops[0] = captures[0];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    }
			  if (o21 == o20 || (operand_equal_p (o21, o20, 0) && types_match (o21, o20)))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3400, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = ABS_EXPR;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CABSL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CONJ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:503, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CABSL;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:503, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_CABSL;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (real_zerop (o21))
			    {
			      {
/* #line 3239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3239, %s:%d\n", __FILE__, __LINE__);
				*res_code = ABS_EXPR;
				res_ops[0] = captures[0];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    }
			  if (real_zerop (o20))
			    {
			      {
/* #line 3239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3239, %s:%d\n", __FILE__, __LINE__);
				*res_code = ABS_EXPR;
				res_ops[0] = captures[0];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    }
			  if (o21 == o20 || (operand_equal_p (o21, o20, 0) && types_match (o21, o20)))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3400, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = ABS_EXPR;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_ABS_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 827 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:827, %s:%d\n", __FILE__, __LINE__);
			res_ops[0] = captures[0];
			*res_code = TREE_CODE (res_ops[0]);
			return true;
		      }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 830 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:830, %s:%d\n", __FILE__, __LINE__);
			*res_code = ABS_EXPR;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 833 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:833, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  }
  return false;
}

static bool
gimple_simplify_NEGATE_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (gimple_negate_expr_p (o21, valueize))
			    {
			      {
/* #line 866 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_8 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (gimple_negate_expr_p (o20, valueize))
			    {
			      {
/* #line 866 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_8 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
					    if (gimple_simplify_86 (res_code, res_ops, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_86 (res_code, res_ops, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_BIT_NOT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 970 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:970, %s:%d\n", __FILE__, __LINE__);
			res_ops[0] = captures[0];
			*res_code = TREE_CODE (res_ops[0]);
			return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
					    if (gimple_simplify_204 (res_code, res_ops, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (integer_each_onep (o31))
						{
						  {
/* #line 982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
						    if (gimple_simplify_90 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  case PLUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      if (integer_all_onesp (o31))
						{
						  {
/* #line 987 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
						    if (gimple_simplify_166 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  case BIT_XOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 994 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[2] ATTRIBUTE_UNUSED = { o30, o31 };
						      if (gimple_simplify_17 (res_code, res_ops, seq, valueize, type, captures))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_NOT_EXPR:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  {
/* #line 998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { o40, o31 };
								    if (gimple_simplify_93 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      switch (TREE_CODE (o31))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o31) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o31);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_NOT_EXPR:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  {
/* #line 998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { o50, o30 };
								    if (gimple_simplify_93 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case RSHIFT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  switch (TREE_CODE (o40))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o40) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_NOT_EXPR:
									        {
										  tree o50 = gimple_assign_rhs1 (def);
										  if ((o50 = do_valueize (valueize, o50)))
										    {
										      {
/* #line 1701 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o50, o31 };
											if (gimple_simplify_126 (res_code, res_ops, seq, valueize, type, captures))
											  return true;
										      }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  case BIT_NOT_EXPR:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  {
/* #line 1701 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o40, o31 };
								    if (gimple_simplify_126 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case LROTATE_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  switch (TREE_CODE (o40))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o40) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_NOT_EXPR:
									        {
										  tree o50 = gimple_assign_rhs1 (def);
										  if ((o50 = do_valueize (valueize, o50)))
										    {
										      {
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o50, o31 };
											if (gimple_simplify_177 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
											  return true;
										      }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  case BIT_NOT_EXPR:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  {
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o40, o31 };
								    if (gimple_simplify_177 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case RROTATE_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  switch (TREE_CODE (o40))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o40) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_NOT_EXPR:
									        {
										  tree o50 = gimple_assign_rhs1 (def);
										  if ((o50 = do_valueize (valueize, o50)))
										    {
										      {
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o50, o31 };
											if (gimple_simplify_177 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
											  return true;
										      }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  case BIT_NOT_EXPR:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  {
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o40, o31 };
								    if (gimple_simplify_177 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_204 (res_code, res_ops, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_each_onep (o21))
			    {
			      {
/* #line 982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[1] ATTRIBUTE_UNUSED = { o20 };
				if (gimple_simplify_90 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_all_onesp (o21))
			    {
			      {
/* #line 987 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[1] ATTRIBUTE_UNUSED = { o20 };
				if (gimple_simplify_166 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 994 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				  if (gimple_simplify_17 (res_code, res_ops, seq, valueize, type, captures))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_93 (res_code, res_ops, seq, valueize, type, captures))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_93 (res_code, res_ops, seq, valueize, type, captures))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_NOT_EXPR:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  {
/* #line 1701 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o40, o21 };
								    if (gimple_simplify_167 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1701 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o30, o21 };
						if (gimple_simplify_167 (res_code, res_ops, seq, valueize, type, captures))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LROTATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_NOT_EXPR:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  {
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o40, o21 };
								    if (gimple_simplify_77 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o30, o21 };
						if (gimple_simplify_77 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case RROTATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_NOT_EXPR:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  {
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o40, o21 };
								    if (gimple_simplify_77 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o30, o21 };
						if (gimple_simplify_77 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GE_EXPR, UNGE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GT_EXPR, UNGT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, NE_EXPR, NE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, EQ_EXPR, EQ_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, LT_EXPR, UNLT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, LE_EXPR, UNLE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNORDERED_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case ORDERED_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNLT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR, GE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNLE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR, GT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNGT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR, LE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNGE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR, LT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  {
/* #line 2285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_116 (res_code, res_ops, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CONVERT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 1412 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o21 };
						      if (gimple_simplify_88 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 1412 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o21 };
						      if (gimple_simplify_88 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 1729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 1729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1731, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			{
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = 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 1798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1804, %s:%d\n", __FILE__, __LINE__);
				*res_code = NOP_EXPR;
				res_ops[0] = captures[1];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    else
			      {
/* #line 1811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (((inter_int && inside_int) || (inter_float && inside_float)) && (final_int || final_float) && inter_prec >= inside_prec && (inter_float || inter_unsignedp == inside_unsignedp))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1815, %s:%d\n", __FILE__, __LINE__);
				    *res_code = NOP_EXPR;
				    res_ops[0] = captures[1];
				    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
				else
				  {
/* #line 1821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (inside_int && inter_int && final_int && ((inside_prec < inter_prec && inter_prec < final_prec && inside_unsignedp && !inter_unsignedp) || final_prec == inter_prec))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1825, %s:%d\n", __FILE__, __LINE__);
					*res_code = NOP_EXPR;
					res_ops[0] = captures[1];
					gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				    else
				      {
/* #line 1838 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (! inside_float && ! inter_float && ! final_float && ! inside_vec && ! inter_vec && ! final_vec && (inter_prec >= inside_prec || inter_prec >= final_prec) && ! (inside_int && inter_int && inter_unsignedp != inside_unsignedp && inter_prec < final_prec) && ((inter_unsignedp && inter_prec > inside_prec) == (final_unsignedp && final_prec > inter_prec)) && ! (inside_ptr && inter_prec != final_prec) && ! (final_ptr && inside_prec != inter_prec))
					  {
					    gimple_seq *lseq = seq;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1848, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    res_ops[0] = captures[1];
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
					else
					  {
/* #line 1852 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1857, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] =  wide_int_to_tree (inside_type, wi::mask (inter_prec, false, TYPE_PRECISION (inside_type)));
						  code_helper tem_code = BIT_AND_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    else
					      {
/* #line 1865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1869, %s:%d\n", __FILE__, __LINE__);
						    *res_code = NOP_EXPR;
						    res_ops[0] = captures[1];
						    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					  }
				      }
				  }
			      }
			}
		      }
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			{
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = 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 1798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1804, %s:%d\n", __FILE__, __LINE__);
				*res_code = NOP_EXPR;
				res_ops[0] = captures[1];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    else
			      {
/* #line 1811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (((inter_int && inside_int) || (inter_float && inside_float)) && (final_int || final_float) && inter_prec >= inside_prec && (inter_float || inter_unsignedp == inside_unsignedp))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1815, %s:%d\n", __FILE__, __LINE__);
				    *res_code = NOP_EXPR;
				    res_ops[0] = captures[1];
				    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
				else
				  {
/* #line 1821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (inside_int && inter_int && final_int && ((inside_prec < inter_prec && inter_prec < final_prec && inside_unsignedp && !inter_unsignedp) || final_prec == inter_prec))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1825, %s:%d\n", __FILE__, __LINE__);
					*res_code = NOP_EXPR;
					res_ops[0] = captures[1];
					gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				    else
				      {
/* #line 1838 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (! inside_float && ! inter_float && ! final_float && ! inside_vec && ! inter_vec && ! final_vec && (inter_prec >= inside_prec || inter_prec >= final_prec) && ! (inside_int && inter_int && inter_unsignedp != inside_unsignedp && inter_prec < final_prec) && ((inter_unsignedp && inter_prec > inside_prec) == (final_unsignedp && final_prec > inter_prec)) && ! (inside_ptr && inter_prec != final_prec) && ! (final_ptr && inside_prec != inter_prec))
					  {
					    gimple_seq *lseq = seq;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1848, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    res_ops[0] = captures[1];
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
					else
					  {
/* #line 1852 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1857, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] =  wide_int_to_tree (inside_type, wi::mask (inter_prec, false, TYPE_PRECISION (inside_type)));
						  code_helper tem_code = BIT_AND_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    else
					      {
/* #line 1865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1869, %s:%d\n", __FILE__, __LINE__);
						    *res_code = NOP_EXPR;
						    res_ops[0] = captures[1];
						    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					  }
				      }
				  }
			      }
			}
		      }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 1876 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 1876 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (INTEGRAL_TYPE_P (type) && INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0])) && operand_equal_p (captures[1], build_low_bits_mask (TREE_TYPE (captures[1]), TYPE_PRECISION (type)), 0))
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1881, %s:%d\n", __FILE__, __LINE__);
				      *res_code = NOP_EXPR;
				      res_ops[0] = captures[0];
				      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o21) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  {
/* #line 3611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o21, o50 };
								    if (gimple_simplify_157 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      {
/* #line 3611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o21, o21 };
						if (gimple_simplify_224 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o21) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  {
/* #line 3611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o21, o50 };
								    if (gimple_simplify_157 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      {
/* #line 3611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o21, o21 };
						if (gimple_simplify_224 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_VIEW_CONVERT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  {
/* #line 1729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 1729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1731, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree o20 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o20) == SSA_NAME
		       || is_gimple_min_invariant (o20))
		      && (o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1736 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1736, %s:%d\n", __FILE__, __LINE__);
			*res_code = VIEW_CONVERT_EXPR;
			res_ops[0] = captures[0];
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 1742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 1742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type)) && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0]))) && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0])))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1745, %s:%d\n", __FILE__, __LINE__);
	*res_code = NOP_EXPR;
	res_ops[0] = captures[0];
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1750 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
/* #line 1750 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0]))) && (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) || POINTER_TYPE_P (TREE_TYPE (captures[1]))) && (TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))) && (TYPE_SIZE (TREE_TYPE (captures[0])) == TYPE_SIZE (TREE_TYPE (captures[1]))))
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1754, %s:%d\n", __FILE__, __LINE__);
			    *res_code = VIEW_CONVERT_EXPR;
			    res_ops[0] = captures[1];
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_FLOAT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  {
/* #line 1729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 1729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1731, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			{
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = 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 1798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1804, %s:%d\n", __FILE__, __LINE__);
				*res_code = FLOAT_EXPR;
				res_ops[0] = captures[1];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    else
			      {
/* #line 1811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (((inter_int && inside_int) || (inter_float && inside_float)) && (final_int || final_float) && inter_prec >= inside_prec && (inter_float || inter_unsignedp == inside_unsignedp))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1815, %s:%d\n", __FILE__, __LINE__);
				    *res_code = FLOAT_EXPR;
				    res_ops[0] = captures[1];
				    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
				else
				  {
/* #line 1821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (inside_int && inter_int && final_int && ((inside_prec < inter_prec && inter_prec < final_prec && inside_unsignedp && !inter_unsignedp) || final_prec == inter_prec))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1825, %s:%d\n", __FILE__, __LINE__);
					*res_code = FLOAT_EXPR;
					res_ops[0] = captures[1];
					gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				    else
				      {
/* #line 1838 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (! inside_float && ! inter_float && ! final_float && ! inside_vec && ! inter_vec && ! final_vec && (inter_prec >= inside_prec || inter_prec >= final_prec) && ! (inside_int && inter_int && inter_unsignedp != inside_unsignedp && inter_prec < final_prec) && ((inter_unsignedp && inter_prec > inside_prec) == (final_unsignedp && final_prec > inter_prec)) && ! (inside_ptr && inter_prec != final_prec) && ! (final_ptr && inside_prec != inter_prec))
					  {
					    gimple_seq *lseq = seq;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1848, %s:%d\n", __FILE__, __LINE__);
					    *res_code = FLOAT_EXPR;
					    res_ops[0] = captures[1];
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
					else
					  {
/* #line 1852 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1857, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] =  wide_int_to_tree (inside_type, wi::mask (inter_prec, false, TYPE_PRECISION (inside_type)));
						  code_helper tem_code = BIT_AND_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    else
					      {
/* #line 1865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1869, %s:%d\n", __FILE__, __LINE__);
						    *res_code = NOP_EXPR;
						    res_ops[0] = captures[1];
						    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					  }
				      }
				  }
			      }
			}
		      }
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			{
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = 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 1798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1804, %s:%d\n", __FILE__, __LINE__);
				*res_code = FLOAT_EXPR;
				res_ops[0] = captures[1];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    else
			      {
/* #line 1811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (((inter_int && inside_int) || (inter_float && inside_float)) && (final_int || final_float) && inter_prec >= inside_prec && (inter_float || inter_unsignedp == inside_unsignedp))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1815, %s:%d\n", __FILE__, __LINE__);
				    *res_code = FLOAT_EXPR;
				    res_ops[0] = captures[1];
				    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
				else
				  {
/* #line 1821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (inside_int && inter_int && final_int && ((inside_prec < inter_prec && inter_prec < final_prec && inside_unsignedp && !inter_unsignedp) || final_prec == inter_prec))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1825, %s:%d\n", __FILE__, __LINE__);
					*res_code = FLOAT_EXPR;
					res_ops[0] = captures[1];
					gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				    else
				      {
/* #line 1838 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (! inside_float && ! inter_float && ! final_float && ! inside_vec && ! inter_vec && ! final_vec && (inter_prec >= inside_prec || inter_prec >= final_prec) && ! (inside_int && inter_int && inter_unsignedp != inside_unsignedp && inter_prec < final_prec) && ((inter_unsignedp && inter_prec > inside_prec) == (final_unsignedp && final_prec > inter_prec)) && ! (inside_ptr && inter_prec != final_prec) && ! (final_ptr && inside_prec != inter_prec))
					  {
					    gimple_seq *lseq = seq;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1848, %s:%d\n", __FILE__, __LINE__);
					    *res_code = FLOAT_EXPR;
					    res_ops[0] = captures[1];
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
					else
					  {
/* #line 1852 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1857, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] =  wide_int_to_tree (inside_type, wi::mask (inter_prec, false, TYPE_PRECISION (inside_type)));
						  code_helper tem_code = BIT_AND_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    else
					      {
/* #line 1865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1869, %s:%d\n", __FILE__, __LINE__);
						    *res_code = NOP_EXPR;
						    res_ops[0] = captures[1];
						    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					  }
				      }
				  }
			      }
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_FIX_TRUNC_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  {
/* #line 1729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 1729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1731, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			{
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = 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 1798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1804, %s:%d\n", __FILE__, __LINE__);
				*res_code = FIX_TRUNC_EXPR;
				res_ops[0] = captures[1];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    else
			      {
/* #line 1811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (((inter_int && inside_int) || (inter_float && inside_float)) && (final_int || final_float) && inter_prec >= inside_prec && (inter_float || inter_unsignedp == inside_unsignedp))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1815, %s:%d\n", __FILE__, __LINE__);
				    *res_code = FIX_TRUNC_EXPR;
				    res_ops[0] = captures[1];
				    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
				else
				  {
/* #line 1821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (inside_int && inter_int && final_int && ((inside_prec < inter_prec && inter_prec < final_prec && inside_unsignedp && !inter_unsignedp) || final_prec == inter_prec))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1825, %s:%d\n", __FILE__, __LINE__);
					*res_code = FIX_TRUNC_EXPR;
					res_ops[0] = captures[1];
					gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				    else
				      {
/* #line 1838 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (! inside_float && ! inter_float && ! final_float && ! inside_vec && ! inter_vec && ! final_vec && (inter_prec >= inside_prec || inter_prec >= final_prec) && ! (inside_int && inter_int && inter_unsignedp != inside_unsignedp && inter_prec < final_prec) && ((inter_unsignedp && inter_prec > inside_prec) == (final_unsignedp && final_prec > inter_prec)) && ! (inside_ptr && inter_prec != final_prec) && ! (final_ptr && inside_prec != inter_prec))
					  {
					    gimple_seq *lseq = seq;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1848, %s:%d\n", __FILE__, __LINE__);
					    *res_code = FIX_TRUNC_EXPR;
					    res_ops[0] = captures[1];
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
					else
					  {
/* #line 1852 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1857, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] =  wide_int_to_tree (inside_type, wi::mask (inter_prec, false, TYPE_PRECISION (inside_type)));
						  code_helper tem_code = BIT_AND_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    else
					      {
/* #line 1865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1869, %s:%d\n", __FILE__, __LINE__);
						    *res_code = NOP_EXPR;
						    res_ops[0] = captures[1];
						    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					  }
				      }
				  }
			      }
			}
		      }
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			{
/* #line 1770 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inside_type = TREE_TYPE (captures[1]);
 tree inter_type = TREE_TYPE (captures[0]);
 int inside_int = INTEGRAL_TYPE_P (inside_type);
 int inside_ptr = POINTER_TYPE_P (inside_type);
 int inside_float = FLOAT_TYPE_P (inside_type);
 int inside_vec = VECTOR_TYPE_P (inside_type);
 unsigned int inside_prec = 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 1798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1804, %s:%d\n", __FILE__, __LINE__);
				*res_code = FIX_TRUNC_EXPR;
				res_ops[0] = captures[1];
				gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			    else
			      {
/* #line 1811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (((inter_int && inside_int) || (inter_float && inside_float)) && (final_int || final_float) && inter_prec >= inside_prec && (inter_float || inter_unsignedp == inside_unsignedp))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1815, %s:%d\n", __FILE__, __LINE__);
				    *res_code = FIX_TRUNC_EXPR;
				    res_ops[0] = captures[1];
				    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
				else
				  {
/* #line 1821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (inside_int && inter_int && final_int && ((inside_prec < inter_prec && inter_prec < final_prec && inside_unsignedp && !inter_unsignedp) || final_prec == inter_prec))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1825, %s:%d\n", __FILE__, __LINE__);
					*res_code = FIX_TRUNC_EXPR;
					res_ops[0] = captures[1];
					gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				    else
				      {
/* #line 1838 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (! inside_float && ! inter_float && ! final_float && ! inside_vec && ! inter_vec && ! final_vec && (inter_prec >= inside_prec || inter_prec >= final_prec) && ! (inside_int && inter_int && inter_unsignedp != inside_unsignedp && inter_prec < final_prec) && ((inter_unsignedp && inter_prec > inside_prec) == (final_unsignedp && final_prec > inter_prec)) && ! (inside_ptr && inter_prec != final_prec) && ! (final_ptr && inside_prec != inter_prec))
					  {
					    gimple_seq *lseq = seq;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1848, %s:%d\n", __FILE__, __LINE__);
					    *res_code = FIX_TRUNC_EXPR;
					    res_ops[0] = captures[1];
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
					else
					  {
/* #line 1852 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1857, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] =  wide_int_to_tree (inside_type, wi::mask (inter_prec, false, TYPE_PRECISION (inside_type)));
						  code_helper tem_code = BIT_AND_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    else
					      {
/* #line 1865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1869, %s:%d\n", __FILE__, __LINE__);
						    *res_code = NOP_EXPR;
						    res_ops[0] = captures[1];
						    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					  }
				      }
				  }
			      }
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_PAREN_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PAREN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1763 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1763, %s:%d\n", __FILE__, __LINE__);
			res_ops[0] = captures[0];
			*res_code = TREE_CODE (res_ops[0]);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (CONSTANT_CLASS_P (op0))
  {
    {
/* #line 1760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1760, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  }
  return false;
}

static bool
gimple_simplify_REALPART_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 1935 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1935, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case CONJ_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1943 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o30 };
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[1])))
					      lseq = NULL;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1943, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    {
					      tree ops1[1], res;
					      ops1[0] = captures[2];
					      code_helper tem_code = REALPART_EXPR;
					      tree tem_ops[3] = { ops1[0] };
					      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
					      if (!res) return false;
					      res_ops[0] = res;
					    }
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
				        }
				      break;
				    }
				  case PLUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      {
/* #line 1951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o30, o31 };
						enum tree_code op = PLUS_EXPR;
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[1])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1951, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  {
						    tree ops2[1], res;
						    ops2[0] = captures[2];
						    code_helper tem_code = REALPART_EXPR;
						    tree tem_ops[3] = { ops2[0] };
						    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						    if (!res) return false;
						    ops1[0] = res;
						  }
						  {
						    tree ops2[1], res;
						    ops2[0] = captures[3];
						    code_helper tem_code = REALPART_EXPR;
						    tree tem_ops[3] = { ops2[0] };
						    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						    if (!res) return false;
						    ops1[1] = res;
						  }
						  code_helper tem_code = op;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      {
/* #line 1951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o30, o31 };
						enum tree_code op = MINUS_EXPR;
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[1])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1951, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  {
						    tree ops2[1], res;
						    ops2[0] = captures[2];
						    code_helper tem_code = REALPART_EXPR;
						    tree tem_ops[3] = { ops2[0] };
						    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						    if (!res) return false;
						    ops1[0] = res;
						  }
						  {
						    tree ops2[1], res;
						    ops2[0] = captures[3];
						    code_helper tem_code = REALPART_EXPR;
						    tree tem_ops[3] = { ops2[0] };
						    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						    if (!res) return false;
						    ops1[1] = res;
						  }
						  code_helper tem_code = op;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			      else if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_CEXPIF:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1954 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o30 };
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[1])))
					      lseq = NULL;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1954, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    {
					      tree ops1[1], res;
					      ops1[0] = captures[2];
					      code_helper tem_code = CFN_BUILT_IN_COSF;
					      tree tem_ops[3] = { ops1[0] };
					      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					      if (!res) return false;
					      res_ops[0] = res;
					    }
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
				        }
				      break;
				    }
				  case CFN_BUILT_IN_CEXPI:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1954 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o30 };
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[1])))
					      lseq = NULL;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1954, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    {
					      tree ops1[1], res;
					      ops1[0] = captures[2];
					      code_helper tem_code = CFN_BUILT_IN_COS;
					      tree tem_ops[3] = { ops1[0] };
					      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					      if (!res) return false;
					      res_ops[0] = res;
					    }
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
				        }
				      break;
				    }
				  case CFN_BUILT_IN_CEXPIL:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1954 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o30 };
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[1])))
					      lseq = NULL;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1954, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    {
					      tree ops1[1], res;
					      ops1[0] = captures[2];
					      code_helper tem_code = CFN_BUILT_IN_COSL;
					      tree tem_ops[3] = { ops1[0] };
					      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					      if (!res) return false;
					      res_ops[0] = res;
					    }
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1943 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o20 };
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1943, %s:%d\n", __FILE__, __LINE__);
			*res_code = NOP_EXPR;
			{
			  tree ops1[1], res;
			  ops1[0] = captures[2];
			  code_helper tem_code = REALPART_EXPR;
			  tree tem_ops[3] = { ops1[0] };
			  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
			  if (!res) return false;
			  res_ops[0] = res;
			}
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  {
/* #line 1951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op0, o20, o21 };
			    enum tree_code op = PLUS_EXPR;
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])
			            || !single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1951, %s:%d\n", __FILE__, __LINE__);
			    *res_code = NOP_EXPR;
			    {
			      tree ops1[2], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = REALPART_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      {
				tree ops2[1], res;
				ops2[0] = captures[3];
				code_helper tem_code = REALPART_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
				if (!res) return false;
				ops1[1] = res;
			      }
			      code_helper tem_code = op;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 1951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op0, o20, o21 };
			    enum tree_code op = MINUS_EXPR;
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])
			            || !single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1951, %s:%d\n", __FILE__, __LINE__);
			    *res_code = NOP_EXPR;
			    {
			      tree ops1[2], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = REALPART_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      {
				tree ops2[1], res;
				ops2[0] = captures[3];
				code_helper tem_code = REALPART_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
				if (!res) return false;
				ops1[1] = res;
			      }
			      code_helper tem_code = op;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_CEXPIF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1954 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o20 };
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1954, %s:%d\n", __FILE__, __LINE__);
			*res_code = NOP_EXPR;
			{
			  tree ops1[1], res;
			  ops1[0] = captures[2];
			  code_helper tem_code = CFN_BUILT_IN_COSF;
			  tree tem_ops[3] = { ops1[0] };
			  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			  if (!res) return false;
			  res_ops[0] = res;
			}
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CEXPI:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1954 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o20 };
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1954, %s:%d\n", __FILE__, __LINE__);
			*res_code = NOP_EXPR;
			{
			  tree ops1[1], res;
			  ops1[0] = captures[2];
			  code_helper tem_code = CFN_BUILT_IN_COS;
			  tree tem_ops[3] = { ops1[0] };
			  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			  if (!res) return false;
			  res_ops[0] = res;
			}
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CEXPIL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1954 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o20 };
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1954, %s:%d\n", __FILE__, __LINE__);
			*res_code = NOP_EXPR;
			{
			  tree ops1[1], res;
			  ops1[0] = captures[2];
			  code_helper tem_code = CFN_BUILT_IN_COSL;
			  tree tem_ops[3] = { ops1[0] };
			  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			  if (!res) return false;
			  res_ops[0] = res;
			}
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_IMAGPART_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 1938 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1938, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[1];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case CONJ_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1946 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o30 };
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[1])))
					      lseq = NULL;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1946, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    {
					      tree ops1[1], res;
					      {
						tree ops2[1], res;
						ops2[0] = captures[2];
						code_helper tem_code = IMAGPART_EXPR;
						tree tem_ops[3] = { ops2[0] };
						gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						if (!res) return false;
						ops1[0] = res;
					      }
					      code_helper tem_code = NEGATE_EXPR;
					      tree tem_ops[3] = { ops1[0] };
					      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					      if (!res) return false;
					      res_ops[0] = res;
					    }
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
				        }
				      break;
				    }
				  case PLUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      {
/* #line 1951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o30, o31 };
						enum tree_code op = PLUS_EXPR;
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[1])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1951, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  {
						    tree ops2[1], res;
						    ops2[0] = captures[2];
						    code_helper tem_code = IMAGPART_EXPR;
						    tree tem_ops[3] = { ops2[0] };
						    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						    if (!res) return false;
						    ops1[0] = res;
						  }
						  {
						    tree ops2[1], res;
						    ops2[0] = captures[3];
						    code_helper tem_code = IMAGPART_EXPR;
						    tree tem_ops[3] = { ops2[0] };
						    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						    if (!res) return false;
						    ops1[1] = res;
						  }
						  code_helper tem_code = op;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      {
/* #line 1951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o30, o31 };
						enum tree_code op = MINUS_EXPR;
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[1])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1951, %s:%d\n", __FILE__, __LINE__);
						*res_code = NOP_EXPR;
						{
						  tree ops1[2], res;
						  {
						    tree ops2[1], res;
						    ops2[0] = captures[2];
						    code_helper tem_code = IMAGPART_EXPR;
						    tree tem_ops[3] = { ops2[0] };
						    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						    if (!res) return false;
						    ops1[0] = res;
						  }
						  {
						    tree ops2[1], res;
						    ops2[0] = captures[3];
						    code_helper tem_code = IMAGPART_EXPR;
						    tree tem_ops[3] = { ops2[0] };
						    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
						    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
						    if (!res) return false;
						    ops1[1] = res;
						  }
						  code_helper tem_code = op;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			      else if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_CEXPIF:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o30 };
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[1])))
					      lseq = NULL;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1957, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    {
					      tree ops1[1], res;
					      ops1[0] = captures[2];
					      code_helper tem_code = CFN_BUILT_IN_SINF;
					      tree tem_ops[3] = { ops1[0] };
					      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					      if (!res) return false;
					      res_ops[0] = res;
					    }
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
				        }
				      break;
				    }
				  case CFN_BUILT_IN_CEXPI:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o30 };
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[1])))
					      lseq = NULL;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1957, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    {
					      tree ops1[1], res;
					      ops1[0] = captures[2];
					      code_helper tem_code = CFN_BUILT_IN_SIN;
					      tree tem_ops[3] = { ops1[0] };
					      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					      if (!res) return false;
					      res_ops[0] = res;
					    }
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
				        }
				      break;
				    }
				  case CFN_BUILT_IN_CEXPIL:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o30 };
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[1])))
					      lseq = NULL;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1957, %s:%d\n", __FILE__, __LINE__);
					    *res_code = NOP_EXPR;
					    {
					      tree ops1[1], res;
					      ops1[0] = captures[2];
					      code_helper tem_code = CFN_BUILT_IN_SINL;
					      tree tem_ops[3] = { ops1[0] };
					      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					      if (!res) return false;
					      res_ops[0] = res;
					    }
					    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					    return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1946 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o20 };
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1946, %s:%d\n", __FILE__, __LINE__);
			*res_code = NOP_EXPR;
			{
			  tree ops1[1], res;
			  {
			    tree ops2[1], res;
			    ops2[0] = captures[2];
			    code_helper tem_code = IMAGPART_EXPR;
			    tree tem_ops[3] = { ops2[0] };
			    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
			    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
			    if (!res) return false;
			    ops1[0] = res;
			  }
			  code_helper tem_code = NEGATE_EXPR;
			  tree tem_ops[3] = { ops1[0] };
			  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			  if (!res) return false;
			  res_ops[0] = res;
			}
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  {
/* #line 1951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op0, o20, o21 };
			    enum tree_code op = PLUS_EXPR;
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])
			            || !single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1951, %s:%d\n", __FILE__, __LINE__);
			    *res_code = NOP_EXPR;
			    {
			      tree ops1[2], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = IMAGPART_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      {
				tree ops2[1], res;
				ops2[0] = captures[3];
				code_helper tem_code = IMAGPART_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
				if (!res) return false;
				ops1[1] = res;
			      }
			      code_helper tem_code = op;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 1951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op0, o20, o21 };
			    enum tree_code op = MINUS_EXPR;
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])
			            || !single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1951, %s:%d\n", __FILE__, __LINE__);
			    *res_code = NOP_EXPR;
			    {
			      tree ops1[2], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = IMAGPART_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      {
				tree ops2[1], res;
				ops2[0] = captures[3];
				code_helper tem_code = IMAGPART_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
				if (!res) return false;
				ops1[1] = res;
			      }
			      code_helper tem_code = op;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_CEXPIF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o20 };
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1957, %s:%d\n", __FILE__, __LINE__);
			*res_code = NOP_EXPR;
			{
			  tree ops1[1], res;
			  ops1[0] = captures[2];
			  code_helper tem_code = CFN_BUILT_IN_SINF;
			  tree tem_ops[3] = { ops1[0] };
			  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			  if (!res) return false;
			  res_ops[0] = res;
			}
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CEXPI:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o20 };
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1957, %s:%d\n", __FILE__, __LINE__);
			*res_code = NOP_EXPR;
			{
			  tree ops1[1], res;
			  ops1[0] = captures[2];
			  code_helper tem_code = CFN_BUILT_IN_SIN;
			  tree tem_ops[3] = { ops1[0] };
			  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			  if (!res) return false;
			  res_ops[0] = res;
			}
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CEXPIL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o20 };
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1957, %s:%d\n", __FILE__, __LINE__);
			*res_code = NOP_EXPR;
			{
			  tree ops1[1], res;
			  ops1[0] = captures[2];
			  code_helper tem_code = CFN_BUILT_IN_SINL;
			  tree tem_ops[3] = { ops1[0] };
			  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			  if (!res) return false;
			  res_ops[0] = res;
			}
			gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CONJ_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case CONJ_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
					    if (gimple_simplify_198 (res_code, res_ops, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  case COMPLEX_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      {
/* #line 1968 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o30, o31 };
						{
/* #line 1968 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1969, %s:%d\n", __FILE__, __LINE__);
						    *res_code = COMPLEX_EXPR;
						    {
						      tree ops1[1], res;
						      ops1[0] = captures[2];
						      if (itype != TREE_TYPE (ops1[0])
						          && !useless_type_conversion_p (itype, TREE_TYPE (ops1[0])))
							{
							  code_helper tem_code = NOP_EXPR;
							  tree tem_ops[3] = { ops1[0] };
							  gimple_resimplify1 (lseq, &tem_code, itype, tem_ops, valueize);
							  res = maybe_push_res_to_seq (tem_code, itype, tem_ops, lseq);
							  if (!res) return false;
						        }
						      else
						        res = ops1[0];
						      res_ops[0] = res;
						    }
						    {
						      tree ops1[1], res;
						      {
							tree ops2[1], res;
							ops2[0] = captures[3];
							if (itype != TREE_TYPE (ops2[0])
							    && !useless_type_conversion_p (itype, TREE_TYPE (ops2[0])))
							  {
							    code_helper tem_code = NOP_EXPR;
							    tree tem_ops[3] = { ops2[0] };
							    gimple_resimplify1 (lseq, &tem_code, itype, tem_ops, valueize);
							    res = maybe_push_res_to_seq (tem_code, itype, tem_ops, lseq);
							    if (!res) return false;
							  }
							else
							  res = ops2[0];
							ops1[0] = res;
						      }
						      code_helper tem_code = NEGATE_EXPR;
						      tree tem_ops[3] = { ops1[0] };
						      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						      if (!res) return false;
						      res_ops[1] = res;
						    }
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						}
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_198 (res_code, res_ops, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 1968 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op0, o20, o21 };
			    {
/* #line 1968 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1969, %s:%d\n", __FILE__, __LINE__);
				*res_code = COMPLEX_EXPR;
				{
				  tree ops1[1], res;
				  ops1[0] = captures[2];
				  if (itype != TREE_TYPE (ops1[0])
				      && !useless_type_conversion_p (itype, TREE_TYPE (ops1[0])))
				    {
				      code_helper tem_code = NOP_EXPR;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, itype, tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, itype, tem_ops, lseq);
				      if (!res) return false;
				    }
				  else
				    res = ops1[0];
				  res_ops[0] = res;
				}
				{
				  tree ops1[1], res;
				  {
				    tree ops2[1], res;
				    ops2[0] = captures[3];
				    if (itype != TREE_TYPE (ops2[0])
				        && !useless_type_conversion_p (itype, TREE_TYPE (ops2[0])))
				      {
					code_helper tem_code = NOP_EXPR;
					tree tem_ops[3] = { ops2[0] };
					gimple_resimplify1 (lseq, &tem_code, itype, tem_ops, valueize);
					res = maybe_push_res_to_seq (tem_code, itype, tem_ops, lseq);
					if (!res) return false;
				      }
				    else
				      res = ops2[0];
				    ops1[0] = res;
				  }
				  code_helper tem_code = NEGATE_EXPR;
				  tree tem_ops[3] = { ops1[0] };
				  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			    }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_BSWAP16 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_BSWAP16:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1978 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
					    if (gimple_simplify_143 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP16:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP16))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP16:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP16))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP16:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP16))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP16:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP16))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP16:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP16))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP16:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP16))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_171 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_BSWAP32 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_BSWAP32:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1978 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
					    if (gimple_simplify_143 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP32:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP32))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP32:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP32))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP32:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP32))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP32:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP32))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP32:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP32))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP32:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP32))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_BSWAP32:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_171 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_BSWAP64 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_BSWAP64:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1978 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
					    if (gimple_simplify_143 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP64:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP64))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP64:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP64))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP64:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP64))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP64:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP64))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP64:
				        {
					  tree o30 = gimple_call_arg (def, 0);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP64))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_BSWAP64:
				        {
					  tree o40 = gimple_call_arg (def, 0);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      {
/* #line 1982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						if (gimple_simplify_144 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP64))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_BSWAP64:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_171 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOGF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXPF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOGF;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOGF;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOGF;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOGF;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOGF;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXPL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOGL;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOGL;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOGL;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOGL;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOGL;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_LOG;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_LOG;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_LOG;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, seq, valueize, type, captures, CFN_LOG, CFN_POW))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG2F (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP2F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG2F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG2F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG2;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG2;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP2L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG2L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG2L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG2L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_LOG2;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_LOG2;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_LOG2;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, seq, valueize, type, captures, CFN_LOG2, CFN_POW))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG10F (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG10F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG10F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG10F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG10F;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG10;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG10;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG10;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG10;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG10L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_BUILT_IN_LOG10L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG10L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_BUILT_IN_LOG10L;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3139, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_LOG10;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3178, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    {
				      tree ops1[1], res;
				      ops1[0] =  x;
				      code_helper tem_code = CFN_LOG10;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    res_ops[1] = captures[0];
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
/* #line 3186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (SCALAR_FLOAT_TYPE_P (type))
			      {
				{
/* #line 3187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3203, %s:%d\n", __FILE__, __LINE__);
				    *res_code = MULT_EXPR;
				    res_ops[0] =  x;
				    {
				      tree ops1[1], res;
				      ops1[0] = captures[0];
				      code_helper tem_code = CFN_LOG10;
				      tree tem_ops[3] = { ops1[0] };
				      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
			    if (gimple_simplify_131 (res_code, res_ops, seq, valueize, type, captures, CFN_LOG10, CFN_POW))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXPF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOGF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXPL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOGL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_EXP (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_LOG:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP2F (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG2F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP2 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP2L (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG2L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_EXP2 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_LOG2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP10F (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP10 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP10L (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_EXP10 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_LOG10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POW10F (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POW10 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POW10L (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_LOG10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3143, %s:%d\n", __FILE__, __LINE__);
			    res_ops[0] = captures[0];
			    *res_code = TREE_CODE (res_ops[0]);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SQRTF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXPF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXPF;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3363, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POWF;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real (type, dconst_quarter ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3367, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POWF;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real_truncate (type, dconst_sixth ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3379, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POWF;
				{
				  tree ops1[1], res;
				  ops1[0] = captures[0];
				  code_helper tem_code = ABS_EXPR;
				  tree tem_ops[3] = { ops1[0] };
				  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[0] = res;
				}
				{
				  tree ops1[2], res;
				  ops1[0] = captures[1];
				  ops1[1] =  build_real (type, dconsthalf);
				  code_helper tem_code = MULT_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SQRT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3363, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real (type, dconst_quarter ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3367, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real_truncate (type, dconst_sixth ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3379, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POW;
				{
				  tree ops1[1], res;
				  ops1[0] = captures[0];
				  code_helper tem_code = ABS_EXPR;
				  tree tem_ops[3] = { ops1[0] };
				  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[0] = res;
				}
				{
				  tree ops1[2], res;
				  ops1[0] = captures[1];
				  ops1[1] =  build_real (type, dconsthalf);
				  code_helper tem_code = MULT_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SQRTL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXPL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXPL;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3363, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POWL;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real (type, dconst_quarter ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3367, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POWL;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real_truncate (type, dconst_sixth ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3379, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POWL;
				{
				  tree ops1[1], res;
				  ops1[0] = captures[0];
				  code_helper tem_code = ABS_EXPR;
				  tree tem_ops[3] = { ops1[0] };
				  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[0] = res;
				}
				{
				  tree ops1[2], res;
				  ops1[0] = captures[1];
				  ops1[1] =  build_real (type, dconsthalf);
				  code_helper tem_code = MULT_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_SQRT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_EXP;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_EXP2;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3219, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_EXP10;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3363, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_POW;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real (type, dconst_quarter ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3379, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_POW;
				{
				  tree ops1[1], res;
				  ops1[0] = captures[0];
				  code_helper tem_code = ABS_EXPR;
				  tree tem_ops[3] = { ops1[0] };
				  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[0] = res;
				}
				{
				  tree ops1[2], res;
				  ops1[0] = captures[1];
				  ops1[1] =  build_real (type, dconsthalf);
				  code_helper tem_code = MULT_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CBRTF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXPF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXPF;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3371, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POWF;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real_truncate (type, dconst_sixth ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (tree_expr_nonnegative_p (o20))
			{
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3375, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POWF;
				res_ops[0] = captures[0];
				res_ops[1] =  build_real_truncate (type, dconst_ninth ());
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_expr_nonnegative_p (o20))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3383, %s:%d\n", __FILE__, __LINE__);
				    *res_code = CFN_BUILT_IN_POWF;
				    res_ops[0] = captures[0];
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[1];
				      ops1[1] =  build_real_truncate (type, dconst_third ());
				      code_helper tem_code = MULT_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CBRT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3371, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real_truncate (type, dconst_sixth ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (tree_expr_nonnegative_p (o20))
			{
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3375, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POW;
				res_ops[0] = captures[0];
				res_ops[1] =  build_real_truncate (type, dconst_ninth ());
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_expr_nonnegative_p (o20))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3383, %s:%d\n", __FILE__, __LINE__);
				    *res_code = CFN_BUILT_IN_POW;
				    res_ops[0] = captures[0];
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[1];
				      ops1[1] =  build_real_truncate (type, dconst_third ());
				      code_helper tem_code = MULT_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CBRTL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_EXPL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXPL;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3223, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] =  build_real_truncate (type, dconst_third ());
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3371, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POWL;
			    res_ops[0] = captures[0];
			    res_ops[1] =  build_real_truncate (type, dconst_sixth ());
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (tree_expr_nonnegative_p (o20))
			{
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3375, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POWL;
				res_ops[0] = captures[0];
				res_ops[1] =  build_real_truncate (type, dconst_ninth ());
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_expr_nonnegative_p (o20))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3383, %s:%d\n", __FILE__, __LINE__);
				    *res_code = CFN_BUILT_IN_POWL;
				    res_ops[0] = captures[0];
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[1];
				      ops1[1] =  build_real_truncate (type, dconst_third ());
				      code_helper tem_code = MULT_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TANF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_ATANF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_44 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_ATAN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_44 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_ATANL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_44 (res_code, res_ops, 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 (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_ATAN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_44 (res_code, res_ops, seq, valueize, type, captures, CFN_TAN, CFN_ATAN))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_TRUNCF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNC (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNC, CFN_BUILT_IN_TRUNCF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_TRUNC:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNC))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNC))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_184 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL, CFN_BUILT_IN_TRUNC))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL, CFN_BUILT_IN_TRUNCF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_TRUNCL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_TRUNC (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_TRUNC:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_TRUNC))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_TRUNC))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_FLOORF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF))
        return true;
    }
  }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3418 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_66 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_TRUNCF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOOR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOORF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_FLOOR:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR))
        return true;
    }
  }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3418 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_66 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_TRUNC))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_184 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOOR))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_FLOORL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL))
        return true;
    }
  }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3418 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_66 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_TRUNCL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_FLOOR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_FLOOR:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_FLOOR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_FLOOR))
        return true;
    }
  }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3418 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_66 (res_code, res_ops, seq, valueize, type, captures, CFN_FLOOR, CFN_TRUNC))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_CEILF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEILF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEIL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_CEILF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_CEIL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEIL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEIL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_184 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_CEIL))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_CEILF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_CEILL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEILL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_CEILL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_CEIL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_CEIL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_CEIL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_CEIL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_ROUNDF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUND (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUND, CFN_BUILT_IN_ROUNDF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_ROUND:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUND))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUND))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_184 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL, CFN_BUILT_IN_ROUND))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL, CFN_BUILT_IN_ROUNDF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_ROUNDL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_ROUND (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_ROUND:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_ROUND))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_ROUND))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_NEARBYINTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINT, CFN_BUILT_IN_NEARBYINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_NEARBYINT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINT))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_184 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL, CFN_BUILT_IN_NEARBYINT))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL, CFN_BUILT_IN_NEARBYINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_NEARBYINTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_NEARBYINT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_NEARBYINT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_NEARBYINT))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_NEARBYINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_RINTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINTF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINT, CFN_BUILT_IN_RINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_RINT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINT))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_184 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINTL, CFN_BUILT_IN_RINT))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_34 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINTL, CFN_BUILT_IN_RINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_RINTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINTL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_RINTL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_RINT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_RINT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			if (gimple_simplify_203 (res_code, res_ops, seq, valueize, type, captures, CFN_RINT))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      if (gimple_simplify_178 (res_code, res_ops, seq, valueize, type, captures, CFN_RINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEXPF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (gimple_compositional_complex (op0, valueize))
    {
      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { op0 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ())
	  {
/* #line 3413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex))
	      {
		gimple_seq *lseq = seq;
		if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3414, %s:%d\n", __FILE__, __LINE__);
		*res_code = COMPLEX_EXPR;
		{
		  tree ops1[2], res;
		  {
		    tree ops2[1], res;
		    {
		      tree ops3[1], res;
		      ops3[0] = captures[0];
		      code_helper tem_code = REALPART_EXPR;
		      tree tem_ops[3] = { ops3[0] };
		      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops3[0])), tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops3[0])), tem_ops, lseq);
		      if (!res) return false;
		      ops2[0] = res;
		    }
		    code_helper tem_code = CFN_BUILT_IN_EXPF;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
		    if (!res) return false;
		    captures[1] = res;
		  }
		  ops1[0] = captures[1];
		  {
		    tree ops2[1], res;
		    {
		      tree ops3[1], res;
		      {
			tree ops4[1], res;
			ops4[0] = captures[0];
			code_helper tem_code = IMAGPART_EXPR;
			tree tem_ops[3] = { ops4[0] };
			gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops4[0])), tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops4[0])), tem_ops, lseq);
			if (!res) return false;
			ops3[0] = res;
		      }
		      code_helper tem_code = CFN_BUILT_IN_CEXPIF;
		      tree tem_ops[3] = { ops3[0] };
		      gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		      if (!res) return false;
		      captures[2] = res;
		    }
		    ops2[0] = captures[2];
		    code_helper tem_code = REALPART_EXPR;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
		    if (!res) return false;
		    ops1[1] = res;
		  }
		  code_helper tem_code = MULT_EXPR;
		  tree tem_ops[3] = { ops1[0], ops1[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		  if (!res) return false;
		  res_ops[0] = res;
		}
		{
		  tree ops1[2], res;
		  ops1[0] = captures[1];
		  {
		    tree ops2[1], res;
		    ops2[0] = captures[2];
		    code_helper tem_code = IMAGPART_EXPR;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
		    if (!res) return false;
		    ops1[1] = res;
		  }
		  code_helper tem_code = MULT_EXPR;
		  tree tem_ops[3] = { ops1[0], ops1[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		  if (!res) return false;
		  res_ops[1] = res;
		}
		gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		return true;
	      }
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEXP (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (gimple_compositional_complex (op0, valueize))
    {
      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { op0 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ())
	  {
/* #line 3413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex))
	      {
		gimple_seq *lseq = seq;
		if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3414, %s:%d\n", __FILE__, __LINE__);
		*res_code = COMPLEX_EXPR;
		{
		  tree ops1[2], res;
		  {
		    tree ops2[1], res;
		    {
		      tree ops3[1], res;
		      ops3[0] = captures[0];
		      code_helper tem_code = REALPART_EXPR;
		      tree tem_ops[3] = { ops3[0] };
		      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops3[0])), tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops3[0])), tem_ops, lseq);
		      if (!res) return false;
		      ops2[0] = res;
		    }
		    code_helper tem_code = CFN_BUILT_IN_EXP;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
		    if (!res) return false;
		    captures[1] = res;
		  }
		  ops1[0] = captures[1];
		  {
		    tree ops2[1], res;
		    {
		      tree ops3[1], res;
		      {
			tree ops4[1], res;
			ops4[0] = captures[0];
			code_helper tem_code = IMAGPART_EXPR;
			tree tem_ops[3] = { ops4[0] };
			gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops4[0])), tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops4[0])), tem_ops, lseq);
			if (!res) return false;
			ops3[0] = res;
		      }
		      code_helper tem_code = CFN_BUILT_IN_CEXPI;
		      tree tem_ops[3] = { ops3[0] };
		      gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		      if (!res) return false;
		      captures[2] = res;
		    }
		    ops2[0] = captures[2];
		    code_helper tem_code = REALPART_EXPR;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
		    if (!res) return false;
		    ops1[1] = res;
		  }
		  code_helper tem_code = MULT_EXPR;
		  tree tem_ops[3] = { ops1[0], ops1[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		  if (!res) return false;
		  res_ops[0] = res;
		}
		{
		  tree ops1[2], res;
		  ops1[0] = captures[1];
		  {
		    tree ops2[1], res;
		    ops2[0] = captures[2];
		    code_helper tem_code = IMAGPART_EXPR;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
		    if (!res) return false;
		    ops1[1] = res;
		  }
		  code_helper tem_code = MULT_EXPR;
		  tree tem_ops[3] = { ops1[0], ops1[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		  if (!res) return false;
		  res_ops[1] = res;
		}
		gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		return true;
	      }
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEXPL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (gimple_compositional_complex (op0, valueize))
    {
      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { op0 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ())
	  {
/* #line 3413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex))
	      {
		gimple_seq *lseq = seq;
		if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3414, %s:%d\n", __FILE__, __LINE__);
		*res_code = COMPLEX_EXPR;
		{
		  tree ops1[2], res;
		  {
		    tree ops2[1], res;
		    {
		      tree ops3[1], res;
		      ops3[0] = captures[0];
		      code_helper tem_code = REALPART_EXPR;
		      tree tem_ops[3] = { ops3[0] };
		      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops3[0])), tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops3[0])), tem_ops, lseq);
		      if (!res) return false;
		      ops2[0] = res;
		    }
		    code_helper tem_code = CFN_BUILT_IN_EXPL;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
		    if (!res) return false;
		    captures[1] = res;
		  }
		  ops1[0] = captures[1];
		  {
		    tree ops2[1], res;
		    {
		      tree ops3[1], res;
		      {
			tree ops4[1], res;
			ops4[0] = captures[0];
			code_helper tem_code = IMAGPART_EXPR;
			tree tem_ops[3] = { ops4[0] };
			gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops4[0])), tem_ops, valueize);
			res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops4[0])), tem_ops, lseq);
			if (!res) return false;
			ops3[0] = res;
		      }
		      code_helper tem_code = CFN_BUILT_IN_CEXPIL;
		      tree tem_ops[3] = { ops3[0] };
		      gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
		      res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
		      if (!res) return false;
		      captures[2] = res;
		    }
		    ops2[0] = captures[2];
		    code_helper tem_code = REALPART_EXPR;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
		    if (!res) return false;
		    ops1[1] = res;
		  }
		  code_helper tem_code = MULT_EXPR;
		  tree tem_ops[3] = { ops1[0], ops1[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		  if (!res) return false;
		  res_ops[0] = res;
		}
		{
		  tree ops1[2], res;
		  ops1[0] = captures[1];
		  {
		    tree ops2[1], res;
		    ops2[0] = captures[2];
		    code_helper tem_code = IMAGPART_EXPR;
		    tree tem_ops[3] = { ops2[0] };
		    gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, valueize);
		    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops2[0])), tem_ops, lseq);
		    if (!res) return false;
		    ops1[1] = res;
		  }
		  code_helper tem_code = MULT_EXPR;
		  tree tem_ops[3] = { ops1[0], ops1[1] };
		  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		  if (!res) return false;
		  res_ops[1] = res;
		}
		gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		return true;
	      }
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IFLOORL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL, CFN_BUILT_IN_IFLOOR))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL, CFN_BUILT_IN_IFLOORF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LFLOORL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LFLOORL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORL, CFN_BUILT_IN_LFLOOR))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORL, CFN_BUILT_IN_LFLOORF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLFLOORL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORL, CFN_BUILT_IN_LLFLOOR))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORL, CFN_BUILT_IN_LLFLOORF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LFLOORL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ICEILL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ICEILL, CFN_BUILT_IN_ICEIL))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ICEILL, CFN_BUILT_IN_ICEILF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LCEILL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LCEILL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LCEILL, CFN_BUILT_IN_LCEIL))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LCEILL, CFN_BUILT_IN_LCEILF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLCEILL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLCEILL, CFN_BUILT_IN_LLCEIL))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLCEILL, CFN_BUILT_IN_LLCEILF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LCEILL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IROUNDL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDL, CFN_BUILT_IN_IROUND))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDL, CFN_BUILT_IN_IROUNDF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LROUNDL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LROUNDL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LROUNDL, CFN_BUILT_IN_LROUND))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LROUNDL, CFN_BUILT_IN_LROUNDF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLROUNDL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLROUNDL, CFN_BUILT_IN_LLROUND))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLROUNDL, CFN_BUILT_IN_LLROUNDF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LROUNDL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IRINTL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IRINTL, CFN_BUILT_IN_IRINT))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IRINTL, CFN_BUILT_IN_IRINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!flag_errno_math)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
	      *res_code = FIX_TRUNC_EXPR;
	      res_ops[0] = captures[0];
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LRINTL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LRINTL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LRINT))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LRINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!flag_errno_math)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
	      *res_code = FIX_TRUNC_EXPR;
	      res_ops[0] = captures[0];
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLRINTL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_double_value_p (o20, valueize))
			{
			  {
/* #line 3473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_179 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLRINTL, CFN_BUILT_IN_LLRINT))
			      return true;
			  }
		        }
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLRINTL, CFN_BUILT_IN_LLRINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!flag_errno_math)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
	      *res_code = FIX_TRUNC_EXPR;
	      res_ops[0] = captures[0];
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LRINTL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IFLOOR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IFLOOR, CFN_BUILT_IN_IFLOORF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LFLOOR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LFLOOR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LFLOOR, CFN_BUILT_IN_LFLOORF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLFLOOR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOOR, CFN_BUILT_IN_LLFLOORF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (op0))
  {
    {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LFLOOR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ICEIL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_ICEIL, CFN_BUILT_IN_ICEILF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LCEIL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LCEIL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LCEIL, CFN_BUILT_IN_LCEILF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLCEIL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLCEIL, CFN_BUILT_IN_LLCEILF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LCEIL;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IROUND (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IROUND, CFN_BUILT_IN_IROUNDF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LROUND;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LROUND (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LROUND, CFN_BUILT_IN_LROUNDF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLROUND (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLROUND, CFN_BUILT_IN_LLROUNDF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	  *res_code = FIX_TRUNC_EXPR;
	  res_ops[0] = captures[0];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LROUND;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IRINT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_IRINT, CFN_BUILT_IN_IRINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!flag_errno_math)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
	      *res_code = FIX_TRUNC_EXPR;
	      res_ops[0] = captures[0];
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LRINT;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LRINT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LRINT, CFN_BUILT_IN_LRINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!flag_errno_math)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
	      *res_code = FIX_TRUNC_EXPR;
	      res_ops[0] = captures[0];
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLRINT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (gimple_float_value_p (o20, valueize))
			{
			  {
/* #line 3483 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_10 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_LLRINT, CFN_BUILT_IN_LLRINTF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (op0))
  {
    {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (canonicalize_math_p ())
	{
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!flag_errno_math)
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
	      *res_code = FIX_TRUNC_EXPR;
	      res_ops[0] = captures[0];
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LRINT;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IFLOORF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (tree_expr_nonnegative_p (op0))
    {
      {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LFLOORF;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LFLOORF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (tree_expr_nonnegative_p (op0))
    {
      {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLFLOORF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (tree_expr_nonnegative_p (op0))
    {
      {
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3493, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LFLOORF;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ICEILF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LCEILF;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LCEILF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLCEILF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LCEILF;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IROUNDF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LROUNDF;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LROUNDF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLROUNDF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3502, %s:%d\n", __FILE__, __LINE__);
	    *res_code = FIX_TRUNC_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LROUNDF;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IRINTF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    if (!flag_errno_math)
	      {
		gimple_seq *lseq = seq;
		if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
		*res_code = FIX_TRUNC_EXPR;
		res_ops[0] = captures[0];
		gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
		return true;
	      }
	  }
      }
    }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3520, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LRINTF;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LRINTF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    if (!flag_errno_math)
	      {
		gimple_seq *lseq = seq;
		if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
		*res_code = FIX_TRUNC_EXPR;
		res_ops[0] = captures[0];
		gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
		return true;
	      }
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLRINTF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (integer_valued_real_p (op0))
    {
      {
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3495 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (canonicalize_math_p ())
	  {
/* #line 3503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    if (!flag_errno_math)
	      {
		gimple_seq *lseq = seq;
		if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3508, %s:%d\n", __FILE__, __LINE__);
		*res_code = FIX_TRUNC_EXPR;
		res_ops[0] = captures[0];
		gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
		return true;
	      }
	  }
      }
    }
  {
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (canonicalize_math_p ())
      {
/* #line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (TYPE_PRECISION (long_long_integer_type_node) == TYPE_PRECISION (long_integer_type_node))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3527, %s:%d\n", __FILE__, __LINE__);
	    *res_code = CFN_BUILT_IN_LRINTF;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CPROJF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  {
/* #line 3532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3533, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				if (tree_expr_nonnegative_p (o21))
				  {
				    {
/* #line 3539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (real_isinf (TREE_REAL_CST_PTR (captures[0])))
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3540, %s:%d\n", __FILE__, __LINE__);
					  res_ops[0] =  build_complex_inf (type, false);
					  *res_code = TREE_CODE (res_ops[0]);
					  return true;
					}
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				{
/* #line 3545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinf (TREE_REAL_CST_PTR (captures[1])))
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3546, %s:%d\n", __FILE__, __LINE__);
				      res_ops[0] =  build_complex_inf (type, TREE_REAL_CST_PTR (captures[1])->sign);
				      *res_code = TREE_CODE (res_ops[0]);
				      return true;
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CPROJ (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  {
/* #line 3532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3533, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				if (tree_expr_nonnegative_p (o21))
				  {
				    {
/* #line 3539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (real_isinf (TREE_REAL_CST_PTR (captures[0])))
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3540, %s:%d\n", __FILE__, __LINE__);
					  res_ops[0] =  build_complex_inf (type, false);
					  *res_code = TREE_CODE (res_ops[0]);
					  return true;
					}
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				{
/* #line 3545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinf (TREE_REAL_CST_PTR (captures[1])))
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3546, %s:%d\n", __FILE__, __LINE__);
				      res_ops[0] =  build_complex_inf (type, TREE_REAL_CST_PTR (captures[1])->sign);
				      *res_code = TREE_CODE (res_ops[0]);
				      return true;
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CPROJL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  {
/* #line 3532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3533, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				if (tree_expr_nonnegative_p (o21))
				  {
				    {
/* #line 3539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (real_isinf (TREE_REAL_CST_PTR (captures[0])))
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3540, %s:%d\n", __FILE__, __LINE__);
					  res_ops[0] =  build_complex_inf (type, false);
					  *res_code = TREE_CODE (res_ops[0]);
					  return true;
					}
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				{
/* #line 3545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 3545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinf (TREE_REAL_CST_PTR (captures[1])))
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3546, %s:%d\n", __FILE__, __LINE__);
				      res_ops[0] =  build_complex_inf (type, TREE_REAL_CST_PTR (captures[1])->sign);
				      *res_code = TREE_CODE (res_ops[0]);
				      return true;
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SIGNBITF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (tree_expr_nonnegative_p (op0))
    {
      {
/* #line 3685 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3685, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] =  integer_zero_node;
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  {
/* #line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (!HONOR_SIGNED_ZEROS (captures[0]))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3691, %s:%d\n", __FILE__, __LINE__);
	*res_code = NOP_EXPR;
	{
	  tree ops1[2], res;
	  ops1[0] = captures[0];
	  ops1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
	  code_helper tem_code = LT_EXPR;
	  tree tem_ops[3] = { ops1[0], ops1[1] };
	  gimple_resimplify2 (lseq, &tem_code, boolean_type_node, tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, boolean_type_node, tem_ops, lseq);
	  if (!res) return false;
	  res_ops[0] = res;
	}
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SIGNBIT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (tree_expr_nonnegative_p (op0))
    {
      {
/* #line 3685 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3685, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] =  integer_zero_node;
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  {
/* #line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (!HONOR_SIGNED_ZEROS (captures[0]))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3691, %s:%d\n", __FILE__, __LINE__);
	*res_code = NOP_EXPR;
	{
	  tree ops1[2], res;
	  ops1[0] = captures[0];
	  ops1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
	  code_helper tem_code = LT_EXPR;
	  tree tem_ops[3] = { ops1[0], ops1[1] };
	  gimple_resimplify2 (lseq, &tem_code, boolean_type_node, tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, boolean_type_node, tem_ops, lseq);
	  if (!res) return false;
	  res_ops[0] = res;
	}
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SIGNBITL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0)
{
  if (tree_expr_nonnegative_p (op0))
    {
      {
/* #line 3685 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3685, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] =  integer_zero_node;
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  {
/* #line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (!HONOR_SIGNED_ZEROS (captures[0]))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3691, %s:%d\n", __FILE__, __LINE__);
	*res_code = NOP_EXPR;
	{
	  tree ops1[2], res;
	  ops1[0] = captures[0];
	  ops1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
	  code_helper tem_code = LT_EXPR;
	  tree tem_ops[3] = { ops1[0], ops1[1] };
	  gimple_resimplify2 (lseq, &tem_code, boolean_type_node, tem_ops, valueize);
	  res = maybe_push_res_to_seq (tem_code, boolean_type_node, tem_ops, lseq);
	  if (!res) return false;
	  res_ops[0] = res;
	}
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
  }
  return false;
}

static bool
gimple_simplify (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree),
                 code_helper code, tree type, tree op0)
{
  switch (code.get_rep())
    {
    case -CFN_BUILT_IN_COSF:
      return gimple_simplify_CFN_BUILT_IN_COSF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_COS:
      return gimple_simplify_CFN_BUILT_IN_COS (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_COSL:
      return gimple_simplify_CFN_BUILT_IN_COSL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_COS:
      return gimple_simplify_CFN_COS (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_COSHF:
      return gimple_simplify_CFN_BUILT_IN_COSHF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_COSH:
      return gimple_simplify_CFN_BUILT_IN_COSH (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_COSHL:
      return gimple_simplify_CFN_BUILT_IN_COSHL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CCOSF:
      return gimple_simplify_CFN_BUILT_IN_CCOSF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CCOS:
      return gimple_simplify_CFN_BUILT_IN_CCOS (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CCOSL:
      return gimple_simplify_CFN_BUILT_IN_CCOSL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CCOSHF:
      return gimple_simplify_CFN_BUILT_IN_CCOSHF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CCOSH:
      return gimple_simplify_CFN_BUILT_IN_CCOSH (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CCOSHL:
      return gimple_simplify_CFN_BUILT_IN_CCOSHL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CABSF:
      return gimple_simplify_CFN_BUILT_IN_CABSF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CABS:
      return gimple_simplify_CFN_BUILT_IN_CABS (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CABSL:
      return gimple_simplify_CFN_BUILT_IN_CABSL (res_code, res_ops, seq, valueize, code, type, op0);
    case ABS_EXPR:
      return gimple_simplify_ABS_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case NEGATE_EXPR:
      return gimple_simplify_NEGATE_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case BIT_NOT_EXPR:
      return gimple_simplify_BIT_NOT_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    CASE_CONVERT:
      return gimple_simplify_CONVERT_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case VIEW_CONVERT_EXPR:
      return gimple_simplify_VIEW_CONVERT_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case FLOAT_EXPR:
      return gimple_simplify_FLOAT_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case FIX_TRUNC_EXPR:
      return gimple_simplify_FIX_TRUNC_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case PAREN_EXPR:
      return gimple_simplify_PAREN_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case REALPART_EXPR:
      return gimple_simplify_REALPART_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case IMAGPART_EXPR:
      return gimple_simplify_IMAGPART_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case CONJ_EXPR:
      return gimple_simplify_CONJ_EXPR (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_BSWAP16:
      return gimple_simplify_CFN_BUILT_IN_BSWAP16 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_BSWAP32:
      return gimple_simplify_CFN_BUILT_IN_BSWAP32 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_BSWAP64:
      return gimple_simplify_CFN_BUILT_IN_BSWAP64 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOGF:
      return gimple_simplify_CFN_BUILT_IN_LOGF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOG:
      return gimple_simplify_CFN_BUILT_IN_LOG (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOGL:
      return gimple_simplify_CFN_BUILT_IN_LOGL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_LOG:
      return gimple_simplify_CFN_LOG (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOG2F:
      return gimple_simplify_CFN_BUILT_IN_LOG2F (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOG2:
      return gimple_simplify_CFN_BUILT_IN_LOG2 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOG2L:
      return gimple_simplify_CFN_BUILT_IN_LOG2L (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_LOG2:
      return gimple_simplify_CFN_LOG2 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOG10F:
      return gimple_simplify_CFN_BUILT_IN_LOG10F (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOG10:
      return gimple_simplify_CFN_BUILT_IN_LOG10 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LOG10L:
      return gimple_simplify_CFN_BUILT_IN_LOG10L (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_LOG10:
      return gimple_simplify_CFN_LOG10 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXPF:
      return gimple_simplify_CFN_BUILT_IN_EXPF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXP:
      return gimple_simplify_CFN_BUILT_IN_EXP (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXPL:
      return gimple_simplify_CFN_BUILT_IN_EXPL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_EXP:
      return gimple_simplify_CFN_EXP (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXP2F:
      return gimple_simplify_CFN_BUILT_IN_EXP2F (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXP2:
      return gimple_simplify_CFN_BUILT_IN_EXP2 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXP2L:
      return gimple_simplify_CFN_BUILT_IN_EXP2L (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_EXP2:
      return gimple_simplify_CFN_EXP2 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXP10F:
      return gimple_simplify_CFN_BUILT_IN_EXP10F (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXP10:
      return gimple_simplify_CFN_BUILT_IN_EXP10 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_EXP10L:
      return gimple_simplify_CFN_BUILT_IN_EXP10L (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_EXP10:
      return gimple_simplify_CFN_EXP10 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_POW10F:
      return gimple_simplify_CFN_BUILT_IN_POW10F (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_POW10:
      return gimple_simplify_CFN_BUILT_IN_POW10 (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_POW10L:
      return gimple_simplify_CFN_BUILT_IN_POW10L (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_SQRTF:
      return gimple_simplify_CFN_BUILT_IN_SQRTF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_SQRT:
      return gimple_simplify_CFN_BUILT_IN_SQRT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_SQRTL:
      return gimple_simplify_CFN_BUILT_IN_SQRTL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_SQRT:
      return gimple_simplify_CFN_SQRT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CBRTF:
      return gimple_simplify_CFN_BUILT_IN_CBRTF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CBRT:
      return gimple_simplify_CFN_BUILT_IN_CBRT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CBRTL:
      return gimple_simplify_CFN_BUILT_IN_CBRTL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_TANF:
      return gimple_simplify_CFN_BUILT_IN_TANF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_TAN:
      return gimple_simplify_CFN_BUILT_IN_TAN (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_TANL:
      return gimple_simplify_CFN_BUILT_IN_TANL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_TAN:
      return gimple_simplify_CFN_TAN (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_TRUNCF:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_TRUNC:
      return gimple_simplify_CFN_BUILT_IN_TRUNC (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_TRUNCL:
      return gimple_simplify_CFN_BUILT_IN_TRUNCL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_TRUNC:
      return gimple_simplify_CFN_TRUNC (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_FLOORF:
      return gimple_simplify_CFN_BUILT_IN_FLOORF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_FLOOR:
      return gimple_simplify_CFN_BUILT_IN_FLOOR (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_FLOORL:
      return gimple_simplify_CFN_BUILT_IN_FLOORL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_FLOOR:
      return gimple_simplify_CFN_FLOOR (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CEILF:
      return gimple_simplify_CFN_BUILT_IN_CEILF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CEIL:
      return gimple_simplify_CFN_BUILT_IN_CEIL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CEILL:
      return gimple_simplify_CFN_BUILT_IN_CEILL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_CEIL:
      return gimple_simplify_CFN_CEIL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_ROUNDF:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_ROUND:
      return gimple_simplify_CFN_BUILT_IN_ROUND (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_ROUNDL:
      return gimple_simplify_CFN_BUILT_IN_ROUNDL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_ROUND:
      return gimple_simplify_CFN_ROUND (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_NEARBYINTF:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_NEARBYINT:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_NEARBYINTL:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_NEARBYINT:
      return gimple_simplify_CFN_NEARBYINT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_RINTF:
      return gimple_simplify_CFN_BUILT_IN_RINTF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_RINT:
      return gimple_simplify_CFN_BUILT_IN_RINT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_RINTL:
      return gimple_simplify_CFN_BUILT_IN_RINTL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_RINT:
      return gimple_simplify_CFN_RINT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CEXPF:
      return gimple_simplify_CFN_BUILT_IN_CEXPF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CEXP:
      return gimple_simplify_CFN_BUILT_IN_CEXP (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CEXPL:
      return gimple_simplify_CFN_BUILT_IN_CEXPL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IFLOORL:
      return gimple_simplify_CFN_BUILT_IN_IFLOORL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LFLOORL:
      return gimple_simplify_CFN_BUILT_IN_LFLOORL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLFLOORL:
      return gimple_simplify_CFN_BUILT_IN_LLFLOORL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_ICEILL:
      return gimple_simplify_CFN_BUILT_IN_ICEILL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LCEILL:
      return gimple_simplify_CFN_BUILT_IN_LCEILL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLCEILL:
      return gimple_simplify_CFN_BUILT_IN_LLCEILL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IROUNDL:
      return gimple_simplify_CFN_BUILT_IN_IROUNDL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LROUNDL:
      return gimple_simplify_CFN_BUILT_IN_LROUNDL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLROUNDL:
      return gimple_simplify_CFN_BUILT_IN_LLROUNDL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IRINTL:
      return gimple_simplify_CFN_BUILT_IN_IRINTL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LRINTL:
      return gimple_simplify_CFN_BUILT_IN_LRINTL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLRINTL:
      return gimple_simplify_CFN_BUILT_IN_LLRINTL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IFLOOR:
      return gimple_simplify_CFN_BUILT_IN_IFLOOR (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LFLOOR:
      return gimple_simplify_CFN_BUILT_IN_LFLOOR (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLFLOOR:
      return gimple_simplify_CFN_BUILT_IN_LLFLOOR (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_ICEIL:
      return gimple_simplify_CFN_BUILT_IN_ICEIL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LCEIL:
      return gimple_simplify_CFN_BUILT_IN_LCEIL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLCEIL:
      return gimple_simplify_CFN_BUILT_IN_LLCEIL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IROUND:
      return gimple_simplify_CFN_BUILT_IN_IROUND (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LROUND:
      return gimple_simplify_CFN_BUILT_IN_LROUND (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLROUND:
      return gimple_simplify_CFN_BUILT_IN_LLROUND (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IRINT:
      return gimple_simplify_CFN_BUILT_IN_IRINT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LRINT:
      return gimple_simplify_CFN_BUILT_IN_LRINT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLRINT:
      return gimple_simplify_CFN_BUILT_IN_LLRINT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IFLOORF:
      return gimple_simplify_CFN_BUILT_IN_IFLOORF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LFLOORF:
      return gimple_simplify_CFN_BUILT_IN_LFLOORF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLFLOORF:
      return gimple_simplify_CFN_BUILT_IN_LLFLOORF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_ICEILF:
      return gimple_simplify_CFN_BUILT_IN_ICEILF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LCEILF:
      return gimple_simplify_CFN_BUILT_IN_LCEILF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLCEILF:
      return gimple_simplify_CFN_BUILT_IN_LLCEILF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IROUNDF:
      return gimple_simplify_CFN_BUILT_IN_IROUNDF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LROUNDF:
      return gimple_simplify_CFN_BUILT_IN_LROUNDF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLROUNDF:
      return gimple_simplify_CFN_BUILT_IN_LLROUNDF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_IRINTF:
      return gimple_simplify_CFN_BUILT_IN_IRINTF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LRINTF:
      return gimple_simplify_CFN_BUILT_IN_LRINTF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_LLRINTF:
      return gimple_simplify_CFN_BUILT_IN_LLRINTF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CPROJF:
      return gimple_simplify_CFN_BUILT_IN_CPROJF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CPROJ:
      return gimple_simplify_CFN_BUILT_IN_CPROJ (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_CPROJL:
      return gimple_simplify_CFN_BUILT_IN_CPROJL (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_SIGNBITF:
      return gimple_simplify_CFN_BUILT_IN_SIGNBITF (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_SIGNBIT:
      return gimple_simplify_CFN_BUILT_IN_SIGNBIT (res_code, res_ops, seq, valueize, code, type, op0);
    case -CFN_BUILT_IN_SIGNBITL:
      return gimple_simplify_CFN_BUILT_IN_SIGNBITL (res_code, res_ops, seq, valueize, code, type, op0);
    default:;
    }
  return false;
}

static bool
gimple_simplify_PLUS_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op1))
    {
      {
/* #line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:84, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  if (real_zerop (op1))
    {
      {
/* #line 95 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_89 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
								{
								  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
								    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o30 || (operand_equal_p (o50, o30, 0) && types_match (o50, o30)))
								{
								  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
								    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (op0))
  {
    {
/* #line 95 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
      if (gimple_simplify_89 (res_code, res_ops, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      if (integer_onep (o31))
				{
				  {
/* #line 659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o31 };
				    if (gimple_simplify_154 (res_code, res_ops, seq, valueize, type, captures))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_onep (o21))
			    {
			      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				{
				  {
/* #line 659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
				    if (gimple_simplify_154 (res_code, res_ops, seq, valueize, type, captures))
				      return true;
				  }
			        }
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_XOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_76 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case BIT_IOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 697 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_164 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    CASE_CONVERT:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    switch (TREE_CODE (o50))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, o50) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								case BIT_AND_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    switch (TREE_CODE (o61))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o21, o50, o60, o61 };
										    if (gimple_simplify_191 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						  }
					        break;
					      }
					    case BIT_AND_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (tree_swap_operands_p (o50, o51))
							  std::swap (o50, o51);
							switch (TREE_CODE (o51))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50, o51 };
								if (gimple_simplify_191 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_76 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 697 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_164 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								CASE_CONVERT:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									switch (TREE_CODE (o60))
									  {
									  case SSA_NAME:
									    if (do_valueize (valueize, o60) != NULL_TREE)
									      {
									        gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
										if (gassign *def = dyn_cast <gassign *> (def_stmt))
										  switch (gimple_assign_rhs_code (def))
										    {
										    case BIT_AND_EXPR:
										      {
											tree o70 = gimple_assign_rhs1 (def);
											if ((o70 = do_valueize (valueize, o70)))
											  {
											    tree o71 = gimple_assign_rhs2 (def);
											    if ((o71 = do_valueize (valueize, o71)))
											      {
												if (tree_swap_operands_p (o70, o71))
												  std::swap (o70, o71);
												switch (TREE_CODE (o71))
												  {
												  case INTEGER_CST:
												    {
												      {
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { o20, o30, o31, o60, o70, o71 };
													if (gimple_simplify_191 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
													  return true;
												      }
												      break;
												    }
											          default:;
											          }
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
								    break;
								  }
								case BIT_AND_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    switch (TREE_CODE (o61))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { o20, o30, o31, op1, o60, o61 };
										    if (gimple_simplify_191 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { op0, o40 };
					    if (gimple_simplify_139 (res_code, res_ops, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { op1, o30 };
					    if (gimple_simplify_139 (res_code, res_ops, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			if (gimple_simplify_139 (res_code, res_ops, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op1, o20 };
			if (gimple_simplify_139 (res_code, res_ops, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_219 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MINUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o30, op0 };
				if (gimple_simplify_219 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (CONSTANT_CLASS_P (o21))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_190 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, PLUS_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (CONSTANT_CLASS_P (o21))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_190 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR))
				      return true;
				  }
			        }
			    }
			  if (CONSTANT_CLASS_P (o20))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_7 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_100 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_100 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  if (integer_each_onep (op1))
					    {
					      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { o30 };
						if (gimple_simplify_67 (res_code, res_ops, seq, valueize, type, captures))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (integer_each_onep (op1))
			{
			  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_67 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 1894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1])))
	    {
	      {
/* #line 1895 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
/* #line 1896 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (!TREE_OVERFLOW (tem) || !flag_trapping_math)
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1897, %s:%d\n", __FILE__, __LINE__);
		      *res_code = MINUS_EXPR;
		      res_ops[0] = captures[0];
		      res_ops[1] =  tem;
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
	      }
	    }
	}
        break;
      }
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1902 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 1902 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (SCALAR_FLOAT_TYPE_P (type))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1903, %s:%d\n", __FILE__, __LINE__);
	    *res_code = MULT_EXPR;
	    res_ops[0] = captures[0];
	    res_ops[1] =  build_real (type, dconst2);
	    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
	else
	  {
/* #line 1904 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    if (INTEGRAL_TYPE_P (type))
	      {
		gimple_seq *lseq = seq;
		if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1905, %s:%d\n", __FILE__, __LINE__);
		*res_code = MULT_EXPR;
		res_ops[0] = captures[0];
		res_ops[1] =  build_int_cst (type, 2);
		gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		return true;
	      }
	  }
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree o30 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o30) == SSA_NAME
		       || is_gimple_min_invariant (o30))
		      && (o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case VEC_COND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      tree o42 = gimple_assign_rhs3 (def);
					      if ((o42 = do_valueize (valueize, o42)))
					        {
						  if (integer_each_onep (o41))
						    {
						      if (integer_zerop (o42))
							{
							  {
/* #line 2236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op0, o30, o40, o41, o42 };
							    if (gimple_simplify_9 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree o20 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o20) == SSA_NAME
		       || is_gimple_min_invariant (o20))
		      && (o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case VEC_COND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      tree o32 = gimple_assign_rhs3 (def);
					      if ((o32 = do_valueize (valueize, o32)))
					        {
						  if (integer_each_onep (o31))
						    {
						      if (integer_zerop (o32))
							{
							  {
/* #line 2236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op1, o20, o30, o31, o32 };
							    if (gimple_simplify_9 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  tree o32 = gimple_assign_rhs3 (def);
			  if ((o32 = do_valueize (valueize, o32)))
			    {
			      if (integer_each_onep (o31))
				{
				  if (integer_zerop (o32))
				    {
				      {
/* #line 2236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o31, o32 };
					if (gimple_simplify_9 (res_code, res_ops, seq, valueize, type, captures))
					  return true;
				      }
				    }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  tree o22 = gimple_assign_rhs3 (def);
			  if ((o22 = do_valueize (valueize, o22)))
			    {
			      if (integer_each_onep (o21))
				{
				  if (integer_zerop (o22))
				    {
				      {
/* #line 2236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op1, op0, o20, o21, o22 };
					if (gimple_simplify_9 (res_code, res_ops, seq, valueize, type, captures))
					  return true;
				      }
				    }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_POINTER_PLUS_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op1))
    {
      {
/* #line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:84, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 1085 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1085, %s:%d\n", __FILE__, __LINE__);
			    *res_code = POINTER_PLUS_EXPR;
			    res_ops[0] = captures[1];
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[2];
			      ops1[1] = captures[3];
			      code_helper tem_code = PLUS_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_zerop (op0))
  {
    {
/* #line 89 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op1 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:89, %s:%d\n", __FILE__, __LINE__);
      *res_code = NOP_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case MINUS_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      switch (TREE_CODE (o40))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o40) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  switch (TREE_CODE (o41))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o41) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o41);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      CASE_CONVERT:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      if (o70 == op0 || (operand_equal_p (o70, op0, 0) && types_match (o70, op0)))
											{
											  {
/* #line 1098 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o50 };
/* #line 1098 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1101, %s:%d\n", __FILE__, __LINE__);
												res_ops[0] = captures[3];
												*res_code = TREE_CODE (res_ops[0]);
												return true;
											      }
											  }
										        }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  switch (TREE_CODE (o30))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o30) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      switch (TREE_CODE (o31))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o31) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o31);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  if (o60 == op0 || (operand_equal_p (o60, op0, 0) && types_match (o60, op0)))
								    {
								      {
/* #line 1098 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, op1, o40 };
/* #line 1098 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1101, %s:%d\n", __FILE__, __LINE__);
									    res_ops[0] = captures[3];
									    *res_code = TREE_CODE (res_ops[0]);
									    return true;
									  }
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      switch (TREE_CODE (o40))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o40) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  if (o50 == op0 || (operand_equal_p (o50, op0, 0) && types_match (o50, op0)))
								    {
								      switch (TREE_CODE (o41))
								        {
									case INTEGER_CST:
									  {
									    {
/* #line 1112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { op0, o41 };
									      {
/* #line 1112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), wi::bit_not (captures[1]));
										  gimple_seq *lseq = seq;
										  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1113, %s:%d\n", __FILE__, __LINE__);
										  *res_code = BIT_AND_EXPR;
										  res_ops[0] = captures[0];
										  res_ops[1] =  algn;
										  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
										  return true;
									      }
									    }
									    break;
									  }
								        default:;
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_MINUS_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op1))
    {
      {
/* #line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:84, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  if (real_zerop (op1))
    {
      {
/* #line 101 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 101 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (fold_real_zero_addition_p (type, captures[1], 1))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:102, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] = captures[0];
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 111 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 111 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (!FLOAT_TYPE_P (type) || !HONOR_NANS (type))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:112, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] =  build_zero_cst (type);
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case MULT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      tree o51 = gimple_assign_rhs2 (def);
							      if ((o51 = do_valueize (valueize, o51)))
							        {
								  if (tree_swap_operands_p (o50, o51))
								    std::swap (o50, o51);
								  switch (TREE_CODE (o50))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o50) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case TRUNC_DIV_EXPR:
									        {
										  tree o60 = gimple_assign_rhs1 (def);
										  if ((o60 = do_valueize (valueize, o60)))
										    {
										      tree o61 = gimple_assign_rhs2 (def);
										      if ((o61 = do_valueize (valueize, o61)))
										        {
											  if (o60 == o20 || operand_equal_p (o60, o20, 0))
											    {
											      if (o51 == o61 || operand_equal_p (o51, o61, 0))
												{
												  {
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												    tree captures[4] ATTRIBUTE_UNUSED = { o60, o61, o20, o61 };
												    if (gimple_simplify_149 (res_code, res_ops, seq, valueize, type, captures))
												      return true;
												  }
											        }
											    }
										        }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (o51))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o51) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o51);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case TRUNC_DIV_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (o70 == o20 || operand_equal_p (o70, o20, 0))
											    {
											      if (o71 == o50 || operand_equal_p (o71, o50, 0))
												{
												  {
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												    tree captures[4] ATTRIBUTE_UNUSED = { o70, o71, o20, o50 };
												    if (gimple_simplify_149 (res_code, res_ops, seq, valueize, type, captures))
												      return true;
												  }
											        }
											    }
										        }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  case MULT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      switch (TREE_CODE (o40))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o40) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case TRUNC_DIV_EXPR:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  tree o51 = gimple_assign_rhs2 (def);
								  if ((o51 = do_valueize (valueize, o51)))
								    {
								      if (o50 == o20 || operand_equal_p (o50, o20, 0))
									{
									  if (o41 == o51 || operand_equal_p (o41, o51, 0))
									    {
									      {
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { o50, o51, o20, o51 };
										if (gimple_simplify_149 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      switch (TREE_CODE (o41))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o41) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o41);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case TRUNC_DIV_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (o60 == o20 || operand_equal_p (o60, o20, 0))
									{
									  if (o61 == o40 || operand_equal_p (o61, o40, 0))
									    {
									      {
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { o60, o61, o20, o40 };
										if (gimple_simplify_149 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case MULT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      switch (TREE_CODE (o40))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o40) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case TRUNC_DIV_EXPR:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  tree o51 = gimple_assign_rhs2 (def);
								  if ((o51 = do_valueize (valueize, o51)))
								    {
								      if (o50 == op0 || operand_equal_p (o50, op0, 0))
									{
									  if (o41 == o51 || operand_equal_p (o41, o51, 0))
									    {
									      {
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { o50, o51, op0, o51 };
										if (gimple_simplify_149 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      switch (TREE_CODE (o41))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o41) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o41);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case TRUNC_DIV_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (o60 == op0 || operand_equal_p (o60, op0, 0))
									{
									  if (o61 == o40 || operand_equal_p (o61, o40, 0))
									    {
									      {
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { o60, o61, op0, o40 };
										if (gimple_simplify_149 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  switch (TREE_CODE (o30))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o30) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case TRUNC_DIV_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      tree o41 = gimple_assign_rhs2 (def);
					      if ((o41 = do_valueize (valueize, o41)))
					        {
						  if (o40 == op0 || operand_equal_p (o40, op0, 0))
						    {
						      if (o31 == o41 || operand_equal_p (o31, o41, 0))
							{
							  {
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { o40, o41, op0, o41 };
							    if (gimple_simplify_149 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o31))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o31) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o31);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case TRUNC_DIV_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == op0 || operand_equal_p (o50, op0, 0))
						    {
						      if (o51 == o30 || operand_equal_p (o51, o30, 0))
							{
							  {
/* #line 358 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { o50, o51, op0, o30 };
							    if (gimple_simplify_149 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  if (o61 == o40 || (operand_equal_p (o61, o40, 0) && types_match (o61, o40)))
									    {
									      {
/* #line 557 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o40, op1 };
										if (gimple_simplify_46 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								      if (o60 == o40 || (operand_equal_p (o60, o40, 0) && types_match (o60, o40)))
									{
									  if (o61 == o20 || (operand_equal_p (o61, o20, 0) && types_match (o61, o20)))
									    {
									      {
/* #line 557 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o40, op1 };
										if (gimple_simplify_46 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
									    {
									      {
/* #line 557 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { op0, o21, o30, op1 };
										if (gimple_simplify_46 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  if (o61 == o21 || (operand_equal_p (o61, o21, 0) && types_match (o61, o21)))
									    {
									      {
/* #line 557 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { op0, o21, o30, op1 };
										if (gimple_simplify_46 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    case BIT_AND_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (tree_swap_operands_p (o50, o51))
							  std::swap (o50, o51);
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  {
/* #line 560 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
/* #line 560 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    if (wi::bit_not (captures[2]) == captures[4])
								      {
									gimple_seq *lseq = seq;
									if (lseq
									    && (!single_use (captures[0])
									        || !single_use (captures[3])))
									  lseq = NULL;
									if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:561, %s:%d\n", __FILE__, __LINE__);
									*res_code = MINUS_EXPR;
									{
									  tree ops1[2], res;
									  ops1[0] = captures[1];
									  ops1[1] = captures[4];
									  code_helper tem_code = BIT_XOR_EXPR;
									  tree tem_ops[3] = { ops1[0], ops1[1] };
									  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
									  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
									  if (!res) return false;
									  res_ops[0] = res;
									}
									res_ops[1] = captures[4];
									gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
									return true;
								      }
								  }
							          break;
							        }
							      default:;
							      }
							  }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      switch (TREE_CODE (o51))
						        {
							case SSA_NAME:
							  if (do_valueize (valueize, o51) != NULL_TREE)
							    {
							      gimple *def_stmt = SSA_NAME_DEF_STMT (o51);
							      if (gassign *def = dyn_cast <gassign *> (def_stmt))
							        switch (gimple_assign_rhs_code (def))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree o70 = gimple_assign_rhs1 (def);
								      if ((o70 = do_valueize (valueize, o70)))
								        {
									  if (o70 == o21 || (operand_equal_p (o70, o21, 0) && types_match (o70, o21)))
									    {
									      {
/* #line 566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
										if (gimple_simplify_49 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
						  switch (TREE_CODE (o50))
						    {
						    case SSA_NAME:
						      if (do_valueize (valueize, o50) != NULL_TREE)
						        {
						          gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
							  if (gassign *def = dyn_cast <gassign *> (def_stmt))
							    switch (gimple_assign_rhs_code (def))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree o60 = gimple_assign_rhs1 (def);
								  if ((o60 = do_valueize (valueize, o60)))
								    {
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
									    {
									      {
/* #line 566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
										if (gimple_simplify_49 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
									    {
									      {
/* #line 566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { op0, o21, o20, op1 };
										if (gimple_simplify_49 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      switch (TREE_CODE (o51))
						        {
							case SSA_NAME:
							  if (do_valueize (valueize, o51) != NULL_TREE)
							    {
							      gimple *def_stmt = SSA_NAME_DEF_STMT (o51);
							      if (gassign *def = dyn_cast <gassign *> (def_stmt))
							        switch (gimple_assign_rhs_code (def))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree o70 = gimple_assign_rhs1 (def);
								      if ((o70 = do_valueize (valueize, o70)))
								        {
									  if (o70 == o20 || (operand_equal_p (o70, o20, 0) && types_match (o70, o20)))
									    {
									      {
/* #line 566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[4] ATTRIBUTE_UNUSED = { op0, o21, o20, op1 };
										if (gimple_simplify_49 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_IOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type) && !TYPE_SATURATING (type))
							      {
								gimple_seq *lseq = seq;
								if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:704, %s:%d\n", __FILE__, __LINE__);
								*res_code = BIT_AND_EXPR;
								res_ops[0] = captures[0];
								res_ops[1] = captures[1];
								gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
								return true;
							      }
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type) && !TYPE_SATURATING (type))
							      {
								gimple_seq *lseq = seq;
								if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:711, %s:%d\n", __FILE__, __LINE__);
								*res_code = BIT_IOR_EXPR;
								res_ops[0] = captures[0];
								res_ops[1] = captures[1];
								gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
								return true;
							      }
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_XOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 716 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    gimple_seq *lseq = seq;
							    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:716, %s:%d\n", __FILE__, __LINE__);
							    *res_code = BIT_AND_EXPR;
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
							    return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    gimple_seq *lseq = seq;
							    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:721, %s:%d\n", __FILE__, __LINE__);
							    *res_code = BIT_XOR_EXPR;
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
							    return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (gimple_negate_expr_p (op1, valueize))
    {
      {
/* #line 873 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 873 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (!FIXED_POINT_TYPE_P (type))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:874, %s:%d\n", __FILE__, __LINE__);
	    *res_code = PLUS_EXPR;
	    res_ops[0] = captures[0];
	    {
	      tree ops1[1], res;
	      ops1[0] = captures[1];
	      code_helper tem_code = NEGATE_EXPR;
	      tree tem_ops[3] = { ops1[0] };
	      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	      if (!res) return false;
	      res_ops[1] = res;
	    }
	    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_AND_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      tree o51 = gimple_assign_rhs2 (def);
							      if ((o51 = do_valueize (valueize, o51)))
							        {
								  if (tree_swap_operands_p (o50, o51))
								    std::swap (o50, o51);
								  if (o50 == o20 || operand_equal_p (o50, o20, 0))
								    {
								      {
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[5] ATTRIBUTE_UNUSED = { o50, op1, o40, o51, o20 };
									if (gimple_simplify_4 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if (o51 == o20 || operand_equal_p (o51, o20, 0))
								    {
								      {
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[5] ATTRIBUTE_UNUSED = { o51, op1, o40, o50, o20 };
									if (gimple_simplify_4 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  case BIT_AND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o40 == o20 || operand_equal_p (o40, o20, 0))
						{
						  {
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { o40, op1, op1, o41, o20 };
						    if (gimple_simplify_33 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (o41 == o20 || operand_equal_p (o41, o20, 0))
						{
						  {
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { o41, op1, op1, o40, o20 };
						    if (gimple_simplify_33 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o40 == op0 || operand_equal_p (o40, op0, 0))
						{
						  {
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { o40, op1, o30, o41, op0 };
						    if (gimple_simplify_4 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (o41 == op0 || operand_equal_p (o41, op0, 0))
						{
						  {
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { o41, op1, o30, o40, op0 };
						    if (gimple_simplify_4 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || operand_equal_p (o30, op0, 0))
			    {
			      {
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { o30, op1, op1, o31, op0 };
				if (gimple_simplify_33 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (o31 == op0 || operand_equal_p (o31, op0, 0))
			    {
			      {
/* #line 1009 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { o31, op1, op1, o30, op0 };
				if (gimple_simplify_33 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case ADDR_EXPR:
			  {
			    switch (TREE_CODE (op1))
			      {
			      case SSA_NAME:
			        if (do_valueize (valueize, op1) != NULL_TREE)
			          {
			            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				    if (gassign *def = dyn_cast <gassign *> (def_stmt))
				      switch (gimple_assign_rhs_code (def))
					{
					CASE_CONVERT:
					  {
					    tree o40 = gimple_assign_rhs1 (def);
					    if ((o40 = do_valueize (valueize, o40)))
					      {
						{
/* #line 1118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
/* #line 1118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
						    {
						      {
/* #line 1119 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT diff;
/* #line 1120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							  if (ptr_difference_const (captures[0], captures[1], &diff))
							    {
							      gimple_seq *lseq = seq;
							      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1121, %s:%d\n", __FILE__, __LINE__);
							      res_ops[0] =  build_int_cst_type (type, diff);
							      *res_code = TREE_CODE (res_ops[0]);
							      return true;
							    }
						      }
						    }
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case ADDR_EXPR:
					      {
						{
/* #line 1124 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
/* #line 1124 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0])))
						    {
						      {
/* #line 1125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT diff;
/* #line 1126 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							  if (ptr_difference_const (captures[0], captures[1], &diff))
							    {
							      gimple_seq *lseq = seq;
							      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1127, %s:%d\n", __FILE__, __LINE__);
							      res_ops[0] =  build_int_cst_type (type, diff);
							      *res_code = TREE_CODE (res_ops[0]);
							      return true;
							    }
						      }
						    }
						}
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { op0, o40 };
					    if (gimple_simplify_107 (res_code, res_ops, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			if (gimple_simplify_107 (res_code, res_ops, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_15 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_15 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (!TYPE_SATURATING (type))
				  {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1200, %s:%d\n", __FILE__, __LINE__);
					*res_code = NEGATE_EXPR;
					res_ops[0] = captures[1];
					gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_176 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_176 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (!TYPE_SATURATING (type))
				  {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1209, %s:%d\n", __FILE__, __LINE__);
					res_ops[0] = captures[1];
					*res_code = TREE_CODE (res_ops[0]);
					return true;
				      }
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (CONSTANT_CLASS_P (o21))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_190 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (CONSTANT_CLASS_P (o21))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_190 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, MINUS_EXPR))
				      return true;
				  }
			        }
			    }
			  if (CONSTANT_CLASS_P (o20))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_7 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  if (integer_each_onep (op1))
					    {
					      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { o30 };
						if (gimple_simplify_130 (res_code, res_ops, seq, valueize, type, captures))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  case PLUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  if (o60 == o30 || operand_equal_p (o60, o30, 0))
								    {
								      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o30 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									if (!TYPE_SATURATING (type))
									  {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
									      {
/* #line 1268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										if (element_precision (type) <= element_precision (TREE_TYPE (captures[1])) || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))) || (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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1285, %s:%d\n", __FILE__, __LINE__);
										    *res_code = NOP_EXPR;
										    res_ops[0] = captures[1];
										    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
										    return true;
										  }
									      }
									  }
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case POINTER_PLUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  if (o60 == o30 || operand_equal_p (o60, o30, 0))
								    {
								      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o30 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									if (!TYPE_SATURATING (type))
									  {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
									      {
/* #line 1268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										if (element_precision (type) <= element_precision (TREE_TYPE (captures[1])) || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))) || (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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1285, %s:%d\n", __FILE__, __LINE__);
										    *res_code = NOP_EXPR;
										    res_ops[0] = captures[1];
										    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
										    return true;
										  }
									      }
									  }
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case PLUS_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      tree o51 = gimple_assign_rhs2 (def);
							      if ((o51 = do_valueize (valueize, o51)))
							        {
								  if (tree_swap_operands_p (o50, o51))
								    std::swap (o50, o51);
								  if (o50 == o20 || operand_equal_p (o50, o20, 0))
								    {
								      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o50, o51, o20 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									if (!TYPE_SATURATING (type))
									  {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
									      {
/* #line 1292 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										if (element_precision (type) <= element_precision (TREE_TYPE (captures[1])) || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))) || (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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1309, %s:%d\n", __FILE__, __LINE__);
										    *res_code = NEGATE_EXPR;
										    {
										      tree ops1[1], res;
										      ops1[0] = captures[1];
										      if (type != TREE_TYPE (ops1[0])
										          && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
											{
											  code_helper tem_code = NOP_EXPR;
											  tree tem_ops[3] = { ops1[0] };
											  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
											  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
											  if (!res) return false;
										        }
										      else
										        res = ops1[0];
										      res_ops[0] = res;
										    }
										    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
										    return true;
										  }
									      }
									  }
								      }
								    }
							        }
							    }
						          break;
						        }
						      case POINTER_PLUS_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      tree o51 = gimple_assign_rhs2 (def);
							      if ((o51 = do_valueize (valueize, o51)))
							        {
								  if (o50 == o20 || operand_equal_p (o50, o20, 0))
								    {
								      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o50, o51, o20 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									if (!TYPE_SATURATING (type))
									  {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
									      {
/* #line 1292 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										if (element_precision (type) <= element_precision (TREE_TYPE (captures[1])) || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))) || (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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1309, %s:%d\n", __FILE__, __LINE__);
										    *res_code = NEGATE_EXPR;
										    {
										      tree ops1[1], res;
										      ops1[0] = captures[1];
										      if (type != TREE_TYPE (ops1[0])
										          && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
											{
											  code_helper tem_code = NOP_EXPR;
											  tree tem_ops[3] = { ops1[0] };
											  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
											  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
											  if (!res) return false;
										        }
										      else
										        res = ops1[0];
										      res_ops[0] = res;
										    }
										    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
										    return true;
										  }
									      }
									  }
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case PLUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  switch (TREE_CODE (o60))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o60) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case PLUS_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (tree_swap_operands_p (o70, o71))
											    std::swap (o70, o71);
											  if (o70 == o30 || operand_equal_p (o70, o30, 0))
											    {
											      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o30, o31, o71, o30 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												if (!TYPE_SATURATING (type))
												  {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												    if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
												      {
/* #line 1316 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
													if (element_precision (type) <= element_precision (TREE_TYPE (captures[1])) || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))) || (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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1335, %s:%d\n", __FILE__, __LINE__);
													    *res_code = MINUS_EXPR;
													    {
													      tree ops1[1], res;
													      ops1[0] = captures[1];
													      if (type != TREE_TYPE (ops1[0])
													          && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
														{
														  code_helper tem_code = NOP_EXPR;
														  tree tem_ops[3] = { ops1[0] };
														  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
														  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
														  if (!res) return false;
													        }
													      else
													        res = ops1[0];
													      res_ops[0] = res;
													    }
													    {
													      tree ops1[1], res;
													      ops1[0] = captures[2];
													      if (type != TREE_TYPE (ops1[0])
													          && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
														{
														  code_helper tem_code = NOP_EXPR;
														  tree tem_ops[3] = { ops1[0] };
														  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
														  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
														  if (!res) return false;
													        }
													      else
													        res = ops1[0];
													      res_ops[1] = res;
													    }
													    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
													    return true;
													  }
												      }
												  }
											      }
											    }
										        }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case POINTER_PLUS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  switch (TREE_CODE (o60))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o60) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case POINTER_PLUS_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (o70 == o30 || operand_equal_p (o70, o30, 0))
											    {
											      {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o30, o31, o71, o30 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												if (!TYPE_SATURATING (type))
												  {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												    if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
												      {
/* #line 1316 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
													if (element_precision (type) <= element_precision (TREE_TYPE (captures[1])) || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))) || (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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1335, %s:%d\n", __FILE__, __LINE__);
													    *res_code = MINUS_EXPR;
													    {
													      tree ops1[1], res;
													      ops1[0] = captures[1];
													      if (type != TREE_TYPE (ops1[0])
													          && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
														{
														  code_helper tem_code = NOP_EXPR;
														  tree tem_ops[3] = { ops1[0] };
														  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
														  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
														  if (!res) return false;
													        }
													      else
													        res = ops1[0];
													      res_ops[0] = res;
													    }
													    {
													      tree ops1[1], res;
													      ops1[0] = captures[2];
													      if (type != TREE_TYPE (ops1[0])
													          && !useless_type_conversion_p (type, TREE_TYPE (ops1[0])))
														{
														  code_helper tem_code = NOP_EXPR;
														  tree tem_ops[3] = { ops1[0] };
														  gimple_resimplify1 (lseq, &tem_code, type, tem_ops, valueize);
														  res = maybe_push_res_to_seq (tem_code, type, tem_ops, lseq);
														  if (!res) return false;
													        }
													      else
													        res = ops1[0];
													      res_ops[1] = res;
													    }
													    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
													    return true;
													  }
												      }
												  }
											      }
											    }
										        }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (integer_each_onep (op1))
			{
			  {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_130 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (CONSTANT_CLASS_P (op0))
  {
    switch (TREE_CODE (op1))
      {
      case SSA_NAME:
        if (do_valueize (valueize, op1) != NULL_TREE)
          {
            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	    if (gassign *def = dyn_cast <gassign *> (def_stmt))
	      switch (gimple_assign_rhs_code (def))
		{
		case MINUS_EXPR:
		  {
		    tree o30 = gimple_assign_rhs1 (def);
		    if ((o30 = do_valueize (valueize, o30)))
		      {
			tree o31 = gimple_assign_rhs2 (def);
			if ((o31 = do_valueize (valueize, o31)))
			  {
			    if (CONSTANT_CLASS_P (o30))
			      {
				{
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o31 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (!TYPE_SATURATING (type))
				    {
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
					{
					  {
/* #line 1235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
/* #line 1236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					      if (cst && !TREE_OVERFLOW (cst))
						{
						  gimple_seq *lseq = seq;
						  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1237, %s:%d\n", __FILE__, __LINE__);
						  *res_code = PLUS_EXPR;
						  res_ops[0] =  cst;
						  res_ops[1] = captures[2];
						  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						  return true;
						}
					  }
					}
				    }
				}
			      }
			  }
		      }
		    break;
		  }
		default:;
		}
          }
        break;
      default:;
      }
  }
if (integer_all_onesp (op0))
  {
    {
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op1 };
/* #line 1147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (!TYPE_SATURATING (type))
	{
/* #line 1186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if ((!FLOAT_TYPE_P (type) || flag_associative_math) && !FIXED_POINT_TYPE_P (type))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1261, %s:%d\n", __FILE__, __LINE__);
	      *res_code = BIT_NOT_EXPR;
	      res_ops[0] = captures[0];
	      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
    }
  }
if (integer_zerop (op0))
  {
    {
/* #line 1909 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op1 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1909, %s:%d\n", __FILE__, __LINE__);
      *res_code = NEGATE_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  }
if (real_zerop (op0))
  {
    {
/* #line 1916 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 1916 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (fold_real_zero_addition_p (type, captures[0], 0))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1917, %s:%d\n", __FILE__, __LINE__);
	  *res_code = NEGATE_EXPR;
	  res_ops[0] = captures[1];
	  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
    }
  }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree o30 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o30) == SSA_NAME
		       || is_gimple_min_invariant (o30))
		      && (o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case VEC_COND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      tree o42 = gimple_assign_rhs3 (def);
					      if ((o42 = do_valueize (valueize, o42)))
					        {
						  if (integer_each_onep (o41))
						    {
						      if (integer_zerop (o42))
							{
							  {
/* #line 2245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op0, o30, o40, o41, o42 };
							    if (gimple_simplify_161 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  tree o32 = gimple_assign_rhs3 (def);
			  if ((o32 = do_valueize (valueize, o32)))
			    {
			      if (integer_each_onep (o31))
				{
				  if (integer_zerop (o32))
				    {
				      {
/* #line 2245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o31, o32 };
					if (gimple_simplify_161 (res_code, res_ops, seq, valueize, type, captures))
					  return true;
				      }
				    }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_BIT_IOR_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op1))
    {
      {
/* #line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:84, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_zerop (o21))
			    {
			      switch (TREE_CODE (op1))
			        {
				case SSA_NAME:
				  if (do_valueize (valueize, op1) != NULL_TREE)
				    {
				      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				      if (gassign *def = dyn_cast <gassign *> (def_stmt))
				        switch (gimple_assign_rhs_code (def))
					  {
					  case NE_EXPR:
					    {
					      tree o50 = gimple_assign_rhs1 (def);
					      if ((o50 = do_valueize (valueize, o50)))
					        {
						  tree o51 = gimple_assign_rhs2 (def);
						  if ((o51 = do_valueize (valueize, o51)))
						    {
						      if (tree_swap_operands_p (o50, o51))
						        std::swap (o50, o51);
						      if (integer_zerop (o51))
							{
							  {
/* #line 549 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							    if (gimple_simplify_38 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					      break;
					    }
					  default:;
					  }
				    }
				  break;
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      switch (TREE_CODE (o60))
								        {
									case SSA_NAME:
									  if (do_valueize (valueize, o60) != NULL_TREE)
									    {
									      gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									      if (gassign *def = dyn_cast <gassign *> (def_stmt))
									        switch (gimple_assign_rhs_code (def))
										  {
										  case BIT_NOT_EXPR:
										    {
										      tree o70 = gimple_assign_rhs1 (def);
										      if ((o70 = do_valueize (valueize, o70)))
										        {
											  if (o70 == o20 || (operand_equal_p (o70, o20, 0) && types_match (o70, o20)))
											    {
											      if (o61 == o40 || (operand_equal_p (o61, o40, 0) && types_match (o61, o40)))
												{
												  {
/* #line 571 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
												    if (gimple_simplify_123 (res_code, res_ops, seq, valueize, type, captures))
												      return true;
												  }
											        }
											    }
										        }
										      break;
										    }
										  default:;
										  }
									    }
									  break;
								        default:;
								        }
								      if (o60 == o40 || (operand_equal_p (o60, o40, 0) && types_match (o60, o40)))
									{
									  switch (TREE_CODE (o61))
									    {
									    case SSA_NAME:
									      if (do_valueize (valueize, o61) != NULL_TREE)
									        {
									          gimple *def_stmt = SSA_NAME_DEF_STMT (o61);
										  if (gassign *def = dyn_cast <gassign *> (def_stmt))
										    switch (gimple_assign_rhs_code (def))
										      {
										      case BIT_NOT_EXPR:
										        {
											  tree o80 = gimple_assign_rhs1 (def);
											  if ((o80 = do_valueize (valueize, o80)))
											    {
											      if (o80 == o20 || (operand_equal_p (o80, o20, 0) && types_match (o80, o20)))
												{
												  {
/* #line 571 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
												    if (gimple_simplify_123 (res_code, res_ops, seq, valueize, type, captures))
												      return true;
												  }
											        }
											    }
										          break;
										        }
										      default:;
										      }
									        }
									      break;
									    default:;
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      switch (TREE_CODE (o60))
								        {
									case SSA_NAME:
									  if (do_valueize (valueize, o60) != NULL_TREE)
									    {
									      gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									      if (gassign *def = dyn_cast <gassign *> (def_stmt))
									        switch (gimple_assign_rhs_code (def))
										  {
										  case BIT_NOT_EXPR:
										    {
										      tree o70 = gimple_assign_rhs1 (def);
										      if ((o70 = do_valueize (valueize, o70)))
										        {
											  if (o70 == o21 || (operand_equal_p (o70, o21, 0) && types_match (o70, o21)))
											    {
											      if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
												{
												  {
/* #line 571 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												    tree captures[2] ATTRIBUTE_UNUSED = { o21, o30 };
												    if (gimple_simplify_123 (res_code, res_ops, seq, valueize, type, captures))
												      return true;
												  }
											        }
											    }
										        }
										      break;
										    }
										  default:;
										  }
									    }
									  break;
								        default:;
								        }
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  switch (TREE_CODE (o61))
									    {
									    case SSA_NAME:
									      if (do_valueize (valueize, o61) != NULL_TREE)
									        {
									          gimple *def_stmt = SSA_NAME_DEF_STMT (o61);
										  if (gassign *def = dyn_cast <gassign *> (def_stmt))
										    switch (gimple_assign_rhs_code (def))
										      {
										      case BIT_NOT_EXPR:
										        {
											  tree o80 = gimple_assign_rhs1 (def);
											  if ((o80 = do_valueize (valueize, o80)))
											    {
											      if (o80 == o21 || (operand_equal_p (o80, o21, 0) && types_match (o80, o21)))
												{
												  {
/* #line 571 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												    tree captures[2] ATTRIBUTE_UNUSED = { o21, o30 };
												    if (gimple_simplify_123 (res_code, res_ops, seq, valueize, type, captures))
												      return true;
												  }
											        }
											    }
										          break;
										        }
										      default:;
										      }
									        }
									      break;
									    default:;
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    case BIT_AND_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (tree_swap_operands_p (o50, o51))
							  std::swap (o50, o51);
							switch (TREE_CODE (o50))
							  {
							  case SSA_NAME:
							    if (do_valueize (valueize, o50) != NULL_TREE)
							      {
							        gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
								if (gassign *def = dyn_cast <gassign *> (def_stmt))
								  switch (gimple_assign_rhs_code (def))
								    {
								    case BIT_NOT_EXPR:
								      {
									tree o60 = gimple_assign_rhs1 (def);
									if ((o60 = do_valueize (valueize, o60)))
									  {
									    if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									      {
										switch (TREE_CODE (o51))
										  {
										  case INTEGER_CST:
										    {
										      {
/* #line 574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o51 };
/* #line 574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											if (wi::bit_not (captures[1]) == captures[2])
											  {
											    gimple_seq *lseq = seq;
											    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:575, %s:%d\n", __FILE__, __LINE__);
											    *res_code = BIT_XOR_EXPR;
											    res_ops[0] = captures[0];
											    res_ops[1] = captures[2];
											    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
											    return true;
											  }
										      }
										      break;
										    }
									          default:;
									          }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								case BIT_AND_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      {
/* #line 574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											tree captures[3] ATTRIBUTE_UNUSED = { o30, o61, o21 };
/* #line 574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											if (wi::bit_not (captures[1]) == captures[2])
											  {
											    gimple_seq *lseq = seq;
											    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:575, %s:%d\n", __FILE__, __LINE__);
											    *res_code = BIT_XOR_EXPR;
											    res_ops[0] = captures[0];
											    res_ops[1] = captures[2];
											    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
											    return true;
											  }
										      }
										      break;
										    }
									          default:;
									          }
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 580 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_52 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 580 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_52 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 580 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_52 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 580 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_52 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_all_onesp (op1))
  {
    {
/* #line 606 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:606, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[1];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  }
if (integer_zerop (op1))
  {
    {
/* #line 611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:611, %s:%d\n", __FILE__, __LINE__);
      res_ops[0] = captures[0];
      *res_code = TREE_CODE (res_ops[0]);
      return true;
    }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
								{
								  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
								    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o30 || (operand_equal_p (o50, o30, 0) && types_match (o50, o30)))
								{
								  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
								    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 645 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_64 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
						{
						  {
/* #line 666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o41 };
						    if (gimple_simplify_70 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      if (o41 == op0 || (operand_equal_p (o41, op0, 0) && types_match (o41, op0)))
						{
						  {
/* #line 666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o40 };
						    if (gimple_simplify_70 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						{
						  {
/* #line 666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, o20, o31 };
						    if (gimple_simplify_70 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      if (op1 == o31 || (operand_equal_p (op1, o31, 0) && types_match (op1, o31)))
						{
						  {
/* #line 666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o31, o20, o30 };
						    if (gimple_simplify_70 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
						{
						  {
/* #line 674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o41, op0 };
						    if (gimple_simplify_72 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					        }
					      if (o41 == o20 || (operand_equal_p (o41, o20, 0) && types_match (o41, o20)))
						{
						  {
/* #line 674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o40, op0 };
						    if (gimple_simplify_72 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      {
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { o20, o50 };
								if (gimple_simplify_14 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_14 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  {
/* #line 674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
						    if (gimple_simplify_159 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					        }
					      if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						{
						  {
/* #line 674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, op1 };
						    if (gimple_simplify_159 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      case BIT_XOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_76 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || operand_equal_p (o50, o20, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, o20 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || operand_equal_p (o51, o20, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o50, o20 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || operand_equal_p (o50, o21, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o21, o20, o51, o21 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || operand_equal_p (o51, o21, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o21, o20, o50, o21 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_76 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      switch (TREE_CODE (o50))
							        {
								case SSA_NAME:
								  if (do_valueize (valueize, o50) != NULL_TREE)
								    {
								      gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
								      if (gassign *def = dyn_cast <gassign *> (def_stmt))
								        switch (gimple_assign_rhs_code (def))
									  {
									  case BIT_NOT_EXPR:
									    {
									      tree o60 = gimple_assign_rhs1 (def);
									      if ((o60 = do_valueize (valueize, o60)))
									        {
										  {
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[2] ATTRIBUTE_UNUSED = { o30, o60 };
										    if (gimple_simplify_14 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
										      return true;
										  }
									        }
									      break;
									    }
									  default:;
									  }
								    }
								  break;
							        default:;
							        }
							    }
						          break;
						        }
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      {
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { o30, o50 };
								if (gimple_simplify_14 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  switch (TREE_CODE (o60))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o60) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_AND_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (tree_swap_operands_p (o70, o71))
											    std::swap (o70, o71);
											  if (o70 == o30 || operand_equal_p (o70, o30, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o30, o31, o71, o30 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o30 || operand_equal_p (o71, o30, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o30, o31, o70, o30 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o31 || operand_equal_p (o70, o31, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o31, o30, o71, o31 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o31 || operand_equal_p (o71, o31, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o31, o30, o70, o31 };
												if (gimple_simplify_112 (res_code, res_ops, 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 o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  if (o60 == o31 || operand_equal_p (o60, o31, 0))
								    {
								      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op0, o30, o31, o31 };
									if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									  return true;
								      }
								    }
								  if (o60 == o30 || operand_equal_p (o60, o30, 0))
								    {
								      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op0, o31, o30, o30 };
									if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									  return true;
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_IOR_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      tree o51 = gimple_assign_rhs2 (def);
							      if ((o51 = do_valueize (valueize, o51)))
							        {
								  if (tree_swap_operands_p (o50, o51))
								    std::swap (o50, o51);
								  if (o51 == o20 || operand_equal_p (o51, o20, 0))
								    {
								      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op1, o50, o51, o20 };
									if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									  return true;
								      }
								    }
								  if (o50 == o20 || operand_equal_p (o50, o20, 0))
								    {
								      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op1, o51, o50, o20 };
									if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      if (op1 == o31 || operand_equal_p (op1, o31, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op0, o30, o31, o31 };
						    if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      if (op1 == o30 || operand_equal_p (op1, o30, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op0, o31, o30, o30 };
						    if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o41 == op0 || operand_equal_p (o41, op0, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op1, o40, o41, op0 };
						    if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      if (o40 == op0 || operand_equal_p (o40, op0, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op1, o41, o40, op0 };
						    if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == o21 || operand_equal_p (o50, o21, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, o21 };
						    if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      if (o50 == o20 || operand_equal_p (o50, o20, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op0, o21, o20, o20 };
						    if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (op1 == o21 || operand_equal_p (op1, o21, 0))
			    {
			      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, o21 };
				if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o20 || operand_equal_p (op1, o20, 0))
			    {
			      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { op0, o21, o20, o20 };
				if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o41 == o20 || operand_equal_p (o41, o20, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op1, o40, o41, o20 };
						    if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      if (o40 == o20 || operand_equal_p (o40, o20, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op1, o41, o40, o20 };
						    if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o31 == op0 || operand_equal_p (o31, op0, 0))
			    {
			      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { op1, o30, o31, op0 };
				if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
				  return true;
			      }
			    }
			  if (o30 == op0 || operand_equal_p (o30, op0, 0))
			    {
			      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { op1, o31, o30, op0 };
				if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  switch (TREE_CODE (o60))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o60) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_IOR_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (tree_swap_operands_p (o70, o71))
											    std::swap (o70, o71);
											  if (o70 == o30 || (operand_equal_p (o70, o30, 0) && types_match (o70, o30)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1, o60, o71 };
												if (gimple_simplify_156 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o30 || (operand_equal_p (o71, o30, 0) && types_match (o71, o30)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1, o60, o70 };
												if (gimple_simplify_156 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o31 || (operand_equal_p (o70, o31, 0) && types_match (o70, o31)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o31, o30, op1, o60, o71 };
												if (gimple_simplify_156 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o31 || (operand_equal_p (o71, o31, 0) && types_match (o71, o31)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o31, o30, op1, o60, o70 };
												if (gimple_simplify_156 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o30 || (operand_equal_p (o70, o30, 0) && types_match (o70, o30)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op1, o60, o30, o71, op0, o20, o31 };
												if (gimple_simplify_11 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o31 || (operand_equal_p (o70, o31, 0) && types_match (o70, o31)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op1, o60, o31, o71, op0, o20, o30 };
												if (gimple_simplify_11 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o30 || (operand_equal_p (o71, o30, 0) && types_match (o71, o30)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op1, o60, o30, o70, op0, o20, o31 };
												if (gimple_simplify_11 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o31 || (operand_equal_p (o71, o31, 0) && types_match (o71, o31)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op1, o60, o31, o70, op0, o20, o30 };
												if (gimple_simplify_11 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
												  return true;
											      }
											    }
										        }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  case BIT_IOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1, op1, o61 };
									    if (gimple_simplify_65 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1, op1, o60 };
									    if (gimple_simplify_65 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o31 || (operand_equal_p (o60, o31, 0) && types_match (o60, o31)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o31, o30, op1, op1, o61 };
									    if (gimple_simplify_65 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o31 || (operand_equal_p (o61, o31, 0) && types_match (o61, o31)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o31, o30, op1, op1, o60 };
									    if (gimple_simplify_65 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o30, o61, op0, o20, o31 };
									    if (gimple_simplify_168 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o31 || (operand_equal_p (o60, o31, 0) && types_match (o60, o31)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o31, o61, op0, o20, o30 };
									    if (gimple_simplify_168 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o30, o60, op0, o20, o31 };
									    if (gimple_simplify_168 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o31 || (operand_equal_p (o61, o31, 0) && types_match (o61, o31)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o31, o60, op0, o20, o30 };
									    if (gimple_simplify_168 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_62 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			if (gimple_simplify_62 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      switch (TREE_CODE (o50))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o50) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, o50, o20, o61, op0, op0, o21 };
									    if (gimple_simplify_187 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, o50, o21, o61, op0, op0, o20 };
									    if (gimple_simplify_187 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o20 || (operand_equal_p (o61, o20, 0) && types_match (o61, o20)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, o50, o20, o60, op0, op0, o21 };
									    if (gimple_simplify_187 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o21 || (operand_equal_p (o61, o21, 0) && types_match (o61, o21)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, o50, o21, o60, op0, op0, o20 };
									    if (gimple_simplify_187 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1, o50, o61 };
									    if (gimple_simplify_87 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o20 || (operand_equal_p (o61, o20, 0) && types_match (o61, o20)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1, o50, o60 };
									    if (gimple_simplify_87 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o21, o20, op1, o50, o61 };
									    if (gimple_simplify_87 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o21 || (operand_equal_p (o61, o21, 0) && types_match (o61, o21)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o21, o20, op1, o50, o60 };
									    if (gimple_simplify_87 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      case BIT_IOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1, op1, o51 };
							if (gimple_simplify_199 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1, op1, o50 };
							if (gimple_simplify_199 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o21, o20, op1, op1, o51 };
							if (gimple_simplify_199 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o21, o20, op1, op1, o50 };
							if (gimple_simplify_199 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o20, o51, op0, op0, o21 };
							if (gimple_simplify_106 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o21, o51, op0, op0, o20 };
							if (gimple_simplify_106 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o20, o50, op0, op0, o21 };
							if (gimple_simplify_106 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o21, o50, op0, op0, o20 };
							if (gimple_simplify_106 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_212 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_212 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_212 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_212 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						{
						  {
/* #line 917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						    if (gimple_simplify_132 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      if (op1 == o40 || (operand_equal_p (op1, o40, 0) && types_match (op1, o40)))
						{
						  {
/* #line 917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						    if (gimple_simplify_132 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  switch (TREE_CODE (o30))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o30) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
						{
						  {
/* #line 917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
						    if (gimple_simplify_132 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o31))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o31) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o31);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == op0 || (operand_equal_p (o50, op0, 0) && types_match (o50, op0)))
						{
						  {
/* #line 917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
						    if (gimple_simplify_132 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (CONSTANT_CLASS_P (o21))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 928 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_134 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o61 == o40 || (operand_equal_p (o61, o40, 0) && types_match (o61, o40)))
									{
									  {
/* #line 1004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o40, op1, o60 };
									    if (gimple_simplify_51 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o60 == o40 || (operand_equal_p (o60, o40, 0) && types_match (o60, o40)))
									{
									  {
/* #line 1004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o40, op1, o61 };
									    if (gimple_simplify_51 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
									{
									  {
/* #line 1004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o30, op1, o60 };
									    if (gimple_simplify_51 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  {
/* #line 1004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o30, op1, o61 };
									    if (gimple_simplify_51 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  switch (TREE_CODE (o51))
						    {
						    case SSA_NAME:
						      if (do_valueize (valueize, o51) != NULL_TREE)
						        {
						          gimple *def_stmt = SSA_NAME_DEF_STMT (o51);
							  if (gassign *def = dyn_cast <gassign *> (def_stmt))
							    switch (gimple_assign_rhs_code (def))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree o70 = gimple_assign_rhs1 (def);
								  if ((o70 = do_valueize (valueize, o70)))
								    {
								      if (o70 == o21 || (operand_equal_p (o70, o21, 0) && types_match (o70, o21)))
									{
									  {
/* #line 1004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[5] ATTRIBUTE_UNUSED = { op1, o50, o21, op0, o20 };
									    if (gimple_simplify_51 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o70 == o20 || (operand_equal_p (o70, o20, 0) && types_match (o70, o20)))
									{
									  {
/* #line 1004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[5] ATTRIBUTE_UNUSED = { op1, o50, o20, op0, o21 };
									    if (gimple_simplify_51 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (o50))
						    {
						    case SSA_NAME:
						      if (do_valueize (valueize, o50) != NULL_TREE)
						        {
						          gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
							  if (gassign *def = dyn_cast <gassign *> (def_stmt))
							    switch (gimple_assign_rhs_code (def))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree o60 = gimple_assign_rhs1 (def);
								  if ((o60 = do_valueize (valueize, o60)))
								    {
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  {
/* #line 1004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[5] ATTRIBUTE_UNUSED = { op1, o51, o21, op0, o20 };
									    if (gimple_simplify_51 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  {
/* #line 1004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[5] ATTRIBUTE_UNUSED = { op1, o51, o20, op0, o21 };
									    if (gimple_simplify_51 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1054 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_197 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case UNORDERED_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (o21 == o20 || (operand_equal_p (o21, o20, 0) && types_match (o21, o20)))
			    {
			      switch (TREE_CODE (op1))
			        {
				case SSA_NAME:
				  if (do_valueize (valueize, op1) != NULL_TREE)
				    {
				      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				      if (gassign *def = dyn_cast <gassign *> (def_stmt))
				        switch (gimple_assign_rhs_code (def))
					  {
					  case UNORDERED_EXPR:
					    {
					      tree o50 = gimple_assign_rhs1 (def);
					      if ((o50 = do_valueize (valueize, o50)))
					        {
						  tree o51 = gimple_assign_rhs2 (def);
						  if ((o51 = do_valueize (valueize, o51)))
						    {
						      if (tree_swap_operands_p (o50, o51))
						        std::swap (o50, o51);
						      if (o51 == o50 || (operand_equal_p (o51, o50, 0) && types_match (o51, o50)))
							{
							  {
/* #line 2617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o50 };
/* #line 2617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    if (types_match (captures[0], captures[1]))
							      {
								gimple_seq *lseq = seq;
								if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2618, %s:%d\n", __FILE__, __LINE__);
								*res_code = UNORDERED_EXPR;
								res_ops[0] = captures[0];
								res_ops[1] = captures[1];
								gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
								return true;
							      }
							  }
						        }
						      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							{
							  {
/* #line 2625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o20, op1, o51 };
							    if (gimple_simplify_129 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
							{
							  {
/* #line 2625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o20, op1, o50 };
							    if (gimple_simplify_129 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					      break;
					    }
					  default:;
					  }
				    }
				  break;
			        default:;
			        }
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case UNORDERED_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
							{
							  {
/* #line 2625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
							    if (gimple_simplify_28 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o21, op0, o20 };
							    if (gimple_simplify_28 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case GE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case GT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case GE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case NE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case EQ_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case LE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case GE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case NE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case LT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case LE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case LE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case NE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_41 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
tree op0_pops[1];
if (gimple_logical_inverted_value (op0, op0_pops, valueize))
  {
    tree o20 = op0_pops[0];
    if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
      {
	if (gimple_truth_valued_p (op1, valueize))
	  {
	    {
/* #line 960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { o20 };
	      if (gimple_simplify_216 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
	        return true;
	    }
	  }
      }
}
if (gimple_truth_valued_p (op0, valueize))
  {
    tree op1_pops[1];
    if (gimple_logical_inverted_value (op1, op1_pops, valueize))
      {
	tree o30 = op1_pops[0];
	if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
	  {
	    {
/* #line 960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	      if (gimple_simplify_216 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR))
	        return true;
	    }
	  }
}
  }
  return false;
}

static bool
gimple_simplify_BIT_XOR_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op1))
    {
      {
/* #line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:84, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
								{
								  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
								    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o30 || (operand_equal_p (o50, o30, 0) && types_match (o50, o30)))
								{
								  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
								    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_60 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:629, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] =  build_zero_cst (type);
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  if (integer_all_onesp (op1))
    {
      {
/* #line 634 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:634, %s:%d\n", __FILE__, __LINE__);
	*res_code = BIT_NOT_EXPR;
	res_ops[0] = captures[0];
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_IOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 679 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_73 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case BIT_XOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_76 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    CASE_CONVERT:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    switch (TREE_CODE (o50))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, o50) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								case BIT_AND_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    switch (TREE_CODE (o61))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o21, o50, o60, o61 };
										    if (gimple_simplify_191 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						  }
					        break;
					      }
					    case BIT_AND_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (tree_swap_operands_p (o50, o51))
							  std::swap (o50, o51);
							switch (TREE_CODE (o51))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50, o51 };
								if (gimple_simplify_191 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 679 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_73 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case BIT_XOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 684 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_74 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_IOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 684 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_74 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_76 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								CASE_CONVERT:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									switch (TREE_CODE (o60))
									  {
									  case SSA_NAME:
									    if (do_valueize (valueize, o60) != NULL_TREE)
									      {
									        gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
										if (gassign *def = dyn_cast <gassign *> (def_stmt))
										  switch (gimple_assign_rhs_code (def))
										    {
										    case BIT_AND_EXPR:
										      {
											tree o70 = gimple_assign_rhs1 (def);
											if ((o70 = do_valueize (valueize, o70)))
											  {
											    tree o71 = gimple_assign_rhs2 (def);
											    if ((o71 = do_valueize (valueize, o71)))
											      {
												if (tree_swap_operands_p (o70, o71))
												  std::swap (o70, o71);
												switch (TREE_CODE (o71))
												  {
												  case INTEGER_CST:
												    {
												      {
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
													tree captures[6] ATTRIBUTE_UNUSED = { o20, o30, o31, o60, o70, o71 };
													if (gimple_simplify_191 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
													  return true;
												      }
												      break;
												    }
											          default:;
											          }
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
								    break;
								  }
								case BIT_AND_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    switch (TREE_CODE (o61))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { o20, o30, o31, op1, o60, o61 };
										    if (gimple_simplify_191 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  if (o60 == o30 || operand_equal_p (o60, o30, 0))
								    {
								      {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o30 };
									if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if (o60 == o31 || operand_equal_p (o60, o31, 0))
								    {
								      {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, o31 };
									if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_IOR_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      tree o51 = gimple_assign_rhs2 (def);
							      if ((o51 = do_valueize (valueize, o51)))
							        {
								  if (tree_swap_operands_p (o50, o51))
								    std::swap (o50, o51);
								  if (o50 == o20 || operand_equal_p (o50, o20, 0))
								    {
								      {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o50, o51, o20 };
									if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if (o51 == o20 || operand_equal_p (o51, o20, 0))
								    {
								      {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o51, o50, o20 };
									if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      if (op1 == o30 || operand_equal_p (op1, o30, 0))
						{
						  {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o30 };
						    if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (op1 == o31 || operand_equal_p (op1, o31, 0))
						{
						  {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, o31 };
						    if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o40 == op0 || operand_equal_p (o40, op0, 0))
						{
						  {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o40, o41, op0 };
						    if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (o41 == op0 || operand_equal_p (o41, op0, 0))
						{
						  {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o41, o40, op0 };
						    if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == o20 || operand_equal_p (o50, o20, 0))
						{
						  {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o20 };
						    if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (o50 == o21 || operand_equal_p (o50, o21, 0))
						{
						  {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o21 };
						    if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (op1 == o20 || operand_equal_p (op1, o20, 0))
			    {
			      {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o20 };
				if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (op1 == o21 || operand_equal_p (op1, o21, 0))
			    {
			      {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o21 };
				if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o40 == o20 || operand_equal_p (o40, o20, 0))
						{
						  {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o40, o41, o20 };
						    if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (o41 == o20 || operand_equal_p (o41, o20, 0))
						{
						  {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o41, o40, o20 };
						    if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || operand_equal_p (o30, op0, 0))
			    {
			      {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op0 };
				if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (o31 == op0 || operand_equal_p (o31, op0, 0))
			    {
			      {
/* #line 759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, op0 };
				if (gimple_simplify_91 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      switch (TREE_CODE (o50))
							        {
								case SSA_NAME:
								  if (do_valueize (valueize, o50) != NULL_TREE)
								    {
								      gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
								      if (gassign *def = dyn_cast <gassign *> (def_stmt))
								        switch (gimple_assign_rhs_code (def))
									  {
									  case BIT_NOT_EXPR:
									    {
									      tree o60 = gimple_assign_rhs1 (def);
									      if ((o60 = do_valueize (valueize, o60)))
									        {
										  {
/* #line 765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[2] ATTRIBUTE_UNUSED = { o30, o60 };
										    if (gimple_simplify_180 (res_code, res_ops, seq, valueize, type, captures))
										      return true;
										  }
									        }
									      break;
									    }
									  default:;
									  }
								    }
								  break;
							        default:;
							        }
							    }
						          break;
						        }
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      {
/* #line 765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { o30, o50 };
								if (gimple_simplify_180 (res_code, res_ops, seq, valueize, type, captures))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    case INTEGER_CST:
					      {
						{
/* #line 772 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { o30, op1 };
						  if (gimple_simplify_36 (res_code, res_ops, seq, valueize, type, captures))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      {
/* #line 765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { o20, o50 };
								if (gimple_simplify_180 (res_code, res_ops, seq, valueize, type, captures))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_180 (res_code, res_ops, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
			case INTEGER_CST:
			  {
			    {
/* #line 772 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_36 (res_code, res_ops, seq, valueize, type, captures))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 780 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_99 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 780 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_99 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 780 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o30, op0 };
				if (gimple_simplify_99 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			    }
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 780 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o31, op0 };
				if (gimple_simplify_99 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  switch (TREE_CODE (o60))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o60) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_AND_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (tree_swap_operands_p (o70, o71))
											    std::swap (o70, o71);
											  if (o70 == o30 || operand_equal_p (o70, o30, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o30, o31, o71, o30 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o30 || operand_equal_p (o71, o30, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o30, o31, o70, o30 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o31 || operand_equal_p (o70, o31, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o31, o30, o71, o31 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o31 || operand_equal_p (o71, o31, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o31, o30, o70, o31 };
												if (gimple_simplify_112 (res_code, res_ops, 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 o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  if (o60 == o31 || operand_equal_p (o60, o31, 0))
								    {
								      {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o31 };
									if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if (o60 == o30 || operand_equal_p (o60, o30, 0))
								    {
								      {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, o30 };
									if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_XOR_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      tree o51 = gimple_assign_rhs2 (def);
							      if ((o51 = do_valueize (valueize, o51)))
							        {
								  if (tree_swap_operands_p (o50, o51))
								    std::swap (o50, o51);
								  if (o51 == o20 || operand_equal_p (o51, o20, 0))
								    {
								      {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o50, o51, o20 };
									if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if (o50 == o20 || operand_equal_p (o50, o20, 0))
								    {
								      {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o51, o50, o20 };
									if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_XOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      if (op1 == o31 || operand_equal_p (op1, o31, 0))
						{
						  {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o31 };
						    if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (op1 == o30 || operand_equal_p (op1, o30, 0))
						{
						  {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, o30 };
						    if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || operand_equal_p (o50, o20, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, o20 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || operand_equal_p (o51, o20, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o50, o20 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || operand_equal_p (o50, o21, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o21, o20, o51, o21 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || operand_equal_p (o51, o21, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o21, o20, o50, o21 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_XOR_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o41 == op0 || operand_equal_p (o41, op0, 0))
						{
						  {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o40, o41, op0 };
						    if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (o40 == op0 || operand_equal_p (o40, op0, 0))
						{
						  {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o41, o40, op0 };
						    if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == o21 || operand_equal_p (o50, o21, 0))
						{
						  {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o21 };
						    if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (o50 == o20 || operand_equal_p (o50, o20, 0))
						{
						  {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o20 };
						    if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (op1 == o21 || operand_equal_p (op1, o21, 0))
			    {
			      {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o21 };
				if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (op1 == o20 || operand_equal_p (op1, o20, 0))
			    {
			      {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o20 };
				if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_XOR_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o41 == o20 || operand_equal_p (o41, o20, 0))
						{
						  {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o40, o41, o20 };
						    if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      if (o40 == o20 || operand_equal_p (o40, o20, 0))
						{
						  {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o41, o40, o20 };
						    if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o31 == op0 || operand_equal_p (o31, op0, 0))
			    {
			      {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op0 };
				if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (o30 == op0 || operand_equal_p (o30, op0, 0))
			    {
			      {
/* #line 806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, op0 };
				if (gimple_simplify_105 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_XOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  switch (TREE_CODE (o60))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o60) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_XOR_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (tree_swap_operands_p (o70, o71))
											    std::swap (o70, o71);
											  if (o70 == o30 || (operand_equal_p (o70, o30, 0) && types_match (o70, o30)))
											    {
											      {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o71 };
												if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
												  return true;
											      }
											    }
											  if (o71 == o30 || (operand_equal_p (o71, o30, 0) && types_match (o71, o30)))
											    {
											      {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o70 };
												if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
												  return true;
											      }
											    }
											  if (o70 == o31 || (operand_equal_p (o70, o31, 0) && types_match (o70, o31)))
											    {
											      {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, o71 };
												if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
												  return true;
											      }
											    }
											  if (o71 == o31 || (operand_equal_p (o71, o31, 0) && types_match (o71, o31)))
											    {
											      {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, o70 };
												if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
												  return true;
											      }
											    }
										        }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  case BIT_XOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o61 };
									    if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
									{
									  {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o60 };
									    if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o60 == o31 || (operand_equal_p (o60, o31, 0) && types_match (o60, o31)))
									{
									  {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, o61 };
									    if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o61 == o31 || (operand_equal_p (o61, o31, 0) && types_match (o61, o31)))
									{
									  {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { o31, o30, o60 };
									    if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_62 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			if (gimple_simplify_62 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      switch (TREE_CODE (o50))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o50) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_XOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o61 };
									    if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o61 == o20 || (operand_equal_p (o61, o20, 0) && types_match (o61, o20)))
									{
									  {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o60 };
									    if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o61 };
									    if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      if (o61 == o21 || (operand_equal_p (o61, o21, 0) && types_match (o61, o21)))
									{
									  {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o60 };
									    if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      case BIT_XOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o51 };
							if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o51 };
							if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o50 };
							if (gimple_simplify_57 (res_code, res_ops, seq, valueize, type, captures))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (CONSTANT_CLASS_P (o21))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 928 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_134 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1054 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_197 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_XOR_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GE_EXPR, UNGE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GT_EXPR, UNGT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, NE_EXPR, NE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, EQ_EXPR, EQ_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, LT_EXPR, UNLT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, LE_EXPR, UNLE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case UNORDERED_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case ORDERED_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case UNLT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR, GE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case UNLE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR, GT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case UNGT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR, LE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case UNGE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR, LT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_truep (op1))
			    {
			      {
/* #line 2299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_229 (res_code, res_ops, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
tree op0_pops[1];
if (gimple_logical_inverted_value (op0, op0_pops, valueize))
  {
    tree o20 = op0_pops[0];
    if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
      {
	if (gimple_truth_valued_p (op1, valueize))
	  {
	    {
/* #line 960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { o20 };
	      if (gimple_simplify_216 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
	        return true;
	    }
	  }
      }
}
if (gimple_truth_valued_p (op0, valueize))
  {
    tree op1_pops[1];
    if (gimple_logical_inverted_value (op1, op1_pops, valueize))
      {
	tree o30 = op1_pops[0];
	if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
	  {
	    {
/* #line 960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	      if (gimple_simplify_216 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR))
	        return true;
	    }
	  }
}
  }
  return false;
}

static bool
gimple_simplify_MULT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op1))
    {
      {
/* #line 116 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:116, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[1];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  if (real_zerop (op1))
    {
      {
/* #line 124 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 124 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (!HONOR_NANS (type) && !HONOR_SIGNED_ZEROS (type))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:125, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] = captures[1];
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  if (real_onep (op1))
    {
      {
/* #line 131 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 131 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (!HONOR_SNANS (type) && (!HONOR_SIGNED_ZEROS (type) || !COMPLEX_FLOAT_TYPE_P (type)))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:134, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] = captures[0];
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  if (real_minus_onep (op1))
    {
      {
/* #line 139 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 139 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (!HONOR_SNANS (type) && (!HONOR_SIGNED_ZEROS (type) || !COMPLEX_FLOAT_TYPE_P (type)))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:142, %s:%d\n", __FILE__, __LINE__);
	    *res_code = NEGATE_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  if (integer_onep (op1))
    {
      {
/* #line 148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_189 (res_code, res_ops, seq, valueize, type, captures, MULT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case TRUNC_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_pow2p (o21))
			    {
			      if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
				{
				  {
/* #line 389 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 389 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[0])))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:390, %s:%d\n", __FILE__, __LINE__);
					*res_code = BIT_AND_EXPR;
					res_ops[0] = captures[0];
					{
					  tree ops1[1], res;
					  ops1[0] = captures[1];
					  code_helper tem_code = NEGATE_EXPR;
					  tree tem_ops[3] = { ops1[0] };
					  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					  if (!res) return false;
					  res_ops[1] = res;
					}
					gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			{
			  {
/* #line 436 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:436, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[1];
			    res_ops[1] = captures[1];
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			    {
			      {
/* #line 490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_25 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			    {
			      {
/* #line 490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_25 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_COPYSIGNL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			    {
			      {
/* #line 490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_25 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case CFN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			    {
			      {
/* #line 490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_25 (res_code, res_ops, seq, valueize, type, captures, CFN_COPYSIGN))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case LSHIFT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (integer_onep (o40))
						{
						  {
/* #line 508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { op0, o40, o41 };
						    if (gimple_simplify_153 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case LSHIFT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (integer_onep (o30))
						{
						  {
/* #line 508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { op1, o30, o31 };
						    if (gimple_simplify_153 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (integer_onep (o30))
			    {
			      {
/* #line 508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o31 };
				if (gimple_simplify_153 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_onep (o20))
			    {
			      {
/* #line 508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op1, o20, o21 };
				if (gimple_simplify_153 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case RDIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
/* #line 515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (flag_associative_math && single_use (captures[0]))
					  {
					    {
/* #line 517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
/* #line 519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						if (tem)
						  {
						    gimple_seq *lseq = seq;
						    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:520, %s:%d\n", __FILE__, __LINE__);
						    *res_code = RDIV_EXPR;
						    res_ops[0] =  tem;
						    res_ops[1] = captures[2];
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					    }
					  }
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (gimple_negate_expr_p (o50, valueize))
								{
								  {
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { o30, o50 };
								    if (gimple_simplify_160 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					if (gimple_negate_expr_p (op1, valueize))
					  {
					    {
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { o30, op1 };
					      if (gimple_simplify_160 (res_code, res_ops, seq, valueize, type, captures))
					        return true;
					    }
					  }
				        }
				      break;
				    }
				  case EXACT_DIV_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  if (o60 == o31 || operand_equal_p (o60, o31, 0))
								    {
								      {
/* #line 1887 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o31 };
									if (gimple_simplify_121 (res_code, res_ops, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      if (op1 == o31 || operand_equal_p (op1, o31, 0))
						{
						  {
/* #line 1887 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, o31 };
						    if (gimple_simplify_121 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (gimple_negate_expr_p (o20, valueize))
		      {
			switch (TREE_CODE (op1))
			  {
			  case SSA_NAME:
			    if (do_valueize (valueize, op1) != NULL_TREE)
			      {
			        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				if (gassign *def = dyn_cast <gassign *> (def_stmt))
				  switch (gimple_assign_rhs_code (def))
				    {
				    CASE_CONVERT:
				      {
					tree o40 = gimple_assign_rhs1 (def);
					if ((o40 = do_valueize (valueize, o40)))
					  {
					    switch (TREE_CODE (o40))
					      {
					      case SSA_NAME:
					        if (do_valueize (valueize, o40) != NULL_TREE)
					          {
					            gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						    if (gassign *def = dyn_cast <gassign *> (def_stmt))
						      switch (gimple_assign_rhs_code (def))
							{
							case NEGATE_EXPR:
							  {
							    tree o50 = gimple_assign_rhs1 (def);
							    if ((o50 = do_valueize (valueize, o50)))
							      {
								{
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								  tree captures[2] ATTRIBUTE_UNUSED = { o50, o20 };
								  if (gimple_simplify_160 (res_code, res_ops, seq, valueize, type, captures))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					  }
				        break;
				      }
				    case NEGATE_EXPR:
				      {
					tree o40 = gimple_assign_rhs1 (def);
					if ((o40 = do_valueize (valueize, o40)))
					  {
					    {
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
					      if (gimple_simplify_160 (res_code, res_ops, seq, valueize, type, captures))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (gimple_negate_expr_p (o40, valueize))
					    {
					      {
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
						if (gimple_simplify_160 (res_code, res_ops, seq, valueize, type, captures))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (gimple_negate_expr_p (op1, valueize))
		      {
			{
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_160 (res_code, res_ops, seq, valueize, type, captures))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == o21 || operand_equal_p (o50, o21, 0))
						{
						  {
/* #line 1887 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o21 };
						    if (gimple_simplify_121 (res_code, res_ops, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (op1 == o21 || operand_equal_p (op1, o21, 0))
			    {
			      {
/* #line 1887 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o21 };
				if (gimple_simplify_121 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (gimple_negate_expr_p (op0, valueize))
  {
    switch (TREE_CODE (op1))
      {
      case SSA_NAME:
        if (do_valueize (valueize, op1) != NULL_TREE)
          {
            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	    if (gassign *def = dyn_cast <gassign *> (def_stmt))
	      switch (gimple_assign_rhs_code (def))
		{
		CASE_CONVERT:
		  {
		    tree o30 = gimple_assign_rhs1 (def);
		    if ((o30 = do_valueize (valueize, o30)))
		      {
			switch (TREE_CODE (o30))
			  {
			  case SSA_NAME:
			    if (do_valueize (valueize, o30) != NULL_TREE)
			      {
			        gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
				if (gassign *def = dyn_cast <gassign *> (def_stmt))
				  switch (gimple_assign_rhs_code (def))
				    {
				    case NEGATE_EXPR:
				      {
					tree o40 = gimple_assign_rhs1 (def);
					if ((o40 = do_valueize (valueize, o40)))
					  {
					    {
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { o40, op0 };
					      if (gimple_simplify_160 (res_code, res_ops, seq, valueize, type, captures))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		    break;
		  }
		case NEGATE_EXPR:
		  {
		    tree o30 = gimple_assign_rhs1 (def);
		    if ((o30 = do_valueize (valueize, o30)))
		      {
			{
/* #line 859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o30, op0 };
			  if (gimple_simplify_160 (res_code, res_ops, seq, valueize, type, captures))
			    return true;
			}
		      }
		    break;
		  }
		default:;
		}
          }
        break;
      default:;
      }
  }
  if (integer_minus_onep (op1))
    {
      {
/* #line 1922 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1922, %s:%d\n", __FILE__, __LINE__);
	*res_code = NEGATE_EXPR;
	res_ops[0] = captures[0];
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			{
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			    if (gimple_simplify_78 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF))
			      return true;
			  }
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SQRTF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3114, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_SQRTF;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MULT_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			{
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			    if (gimple_simplify_78 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRT))
			      return true;
			  }
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SQRT:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3114, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_SQRT;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MULT_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			{
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			    if (gimple_simplify_78 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL))
			      return true;
			  }
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SQRTL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3114, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_SQRTL;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MULT_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
			{
			  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { op0, o20 };
			    if (gimple_simplify_78 (res_code, res_ops, seq, valueize, type, captures, CFN_SQRT))
			      return true;
			  }
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_SQRT:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3114, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_SQRT;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MULT_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_CBRTF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3114, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_CBRTF;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MULT_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_CBRT:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3114, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_CBRT;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MULT_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_CBRTL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3114, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_CBRTL;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MULT_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXPF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXPF;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXP:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXP;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXPL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXPL;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_EXP:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_EXP;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXP2F:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXP2F;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXP2:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXP2;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXP2L:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXP2L;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_EXP2:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_EXP2;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXP10F:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXP10F;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXP10:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXP10;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_EXP10L:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_EXP10L;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_EXP10:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_EXP10;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_POW10F:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_POW10F;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_POW10:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_POW10;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_POW10L:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3120, %s:%d\n", __FILE__, __LINE__);
						*res_code = CFN_BUILT_IN_POW10L;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = PLUS_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_TANF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_COSF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_119 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_COS:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_119 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_COSL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_119 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_COS:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_119 (res_code, res_ops, seq, valueize, type, captures, CFN_TAN, CFN_COS, CFN_SIN))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_COSF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_TANF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op1, o20, op0 };
						if (gimple_simplify_119 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_TAN:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op1, o20, op0 };
						if (gimple_simplify_119 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_TANL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op1, o20, op0 };
						if (gimple_simplify_119 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_TAN:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op1, o20, op0 };
						if (gimple_simplify_119 (res_code, res_ops, seq, valueize, type, captures, CFN_TAN, CFN_COS, CFN_SIN))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case REAL_CST:
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o31 };
				      if (gimple_simplify_222 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
				        return true;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case REAL_CST:
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o31 };
				      if (gimple_simplify_222 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POW))
				        return true;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case REAL_CST:
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o31 };
				      if (gimple_simplify_222 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
				        return true;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case REAL_CST:
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o31 };
				      if (gimple_simplify_222 (res_code, res_ops, seq, valueize, type, captures, CFN_POW))
				        return true;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
				      if (gimple_simplify_145 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_POWF:
				        {
					  tree o50 = gimple_call_arg (def, 0);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_call_arg (def, 1);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
							if (gimple_simplify_79 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
							if (gimple_simplify_213 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
				      if (gimple_simplify_145 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POW))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_POW:
				        {
					  tree o50 = gimple_call_arg (def, 0);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_call_arg (def, 1);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
							if (gimple_simplify_79 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POW))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
							if (gimple_simplify_213 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POW))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
				      if (gimple_simplify_145 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_POWL:
				        {
					  tree o50 = gimple_call_arg (def, 0);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_call_arg (def, 1);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
							if (gimple_simplify_79 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
							if (gimple_simplify_213 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
				      if (gimple_simplify_145 (res_code, res_ops, seq, valueize, type, captures, CFN_POW))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_POW:
				        {
					  tree o50 = gimple_call_arg (def, 0);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_call_arg (def, 1);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
							if (gimple_simplify_79 (res_code, res_ops, seq, valueize, type, captures, CFN_POW))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
							if (gimple_simplify_213 (res_code, res_ops, seq, valueize, type, captures, CFN_POW))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWIF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_POWIF:
				        {
					  tree o50 = gimple_call_arg (def, 0);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_call_arg (def, 1);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3344, %s:%d\n", __FILE__, __LINE__);
							    *res_code = CFN_BUILT_IN_POWIF;
							    {
							      tree ops1[2], res;
							      ops1[0] = captures[1];
							      ops1[1] = captures[4];
							      code_helper tem_code = MULT_EXPR;
							      tree tem_ops[3] = { ops1[0], ops1[1] };
							      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
							      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
							      if (!res) return false;
							      res_ops[0] = res;
							    }
							    res_ops[1] = captures[2];
							    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
							    return true;
							  }
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWI:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_POWI:
				        {
					  tree o50 = gimple_call_arg (def, 0);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_call_arg (def, 1);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3344, %s:%d\n", __FILE__, __LINE__);
							    *res_code = CFN_BUILT_IN_POWI;
							    {
							      tree ops1[2], res;
							      ops1[0] = captures[1];
							      ops1[1] = captures[4];
							      code_helper tem_code = MULT_EXPR;
							      tree tem_ops[3] = { ops1[0], ops1[1] };
							      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
							      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
							      if (!res) return false;
							      res_ops[0] = res;
							    }
							    res_ops[1] = captures[2];
							    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
							    return true;
							  }
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWIL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gcall *def = dyn_cast <gcall *> (def_stmt))
				    switch (gimple_call_combined_fn (def))
				      {
				      case CFN_BUILT_IN_POWIL:
				        {
					  tree o50 = gimple_call_arg (def, 0);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_call_arg (def, 1);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3344, %s:%d\n", __FILE__, __LINE__);
							    *res_code = CFN_BUILT_IN_POWIL;
							    {
							      tree ops1[2], res;
							      ops1[0] = captures[1];
							      ops1[1] = captures[4];
							      code_helper tem_code = MULT_EXPR;
							      tree tem_ops[3] = { ops1[0], ops1[1] };
							      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
							      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
							      if (!res) return false;
							      res_ops[0] = res;
							    }
							    res_ops[1] = captures[2];
							    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
							    return true;
							  }
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_TRUNC_DIV_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_onep (op1))
    {
      {
/* #line 148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_189 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_158 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_208 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_98 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 199 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_45 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op1 };
							    if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_pow2p (o21))
			    {
			      if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
				{
				  {
/* #line 381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (TYPE_UNSIGNED (TREE_TYPE (captures[0])))
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:382, %s:%d\n", __FILE__, __LINE__);
					*res_code = BIT_AND_EXPR;
					res_ops[0] = captures[0];
					res_ops[1] =  wide_int_to_tree (type, wi::mask (TYPE_PRECISION (type) - wi::exact_log2 (captures[1]), false, TYPE_PRECISION (type)));
					gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				  }
			        }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 396 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_32 (res_code, res_ops, seq, valueize, type, captures, TRUNC_DIV_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CEIL_DIV_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_onep (op1))
    {
      {
/* #line 148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_189 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_158 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_208 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_98 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op1 };
							    if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 396 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_32 (res_code, res_ops, seq, valueize, type, captures, CEIL_DIV_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_FLOOR_DIV_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_onep (op1))
    {
      {
/* #line 148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_189 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_158 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_208 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_98 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type)) && TYPE_UNSIGNED (type))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:192, %s:%d\n", __FILE__, __LINE__);
	*res_code = TRUNC_DIV_EXPR;
	res_ops[0] = captures[0];
	res_ops[1] = captures[1];
	gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op1 };
							    if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 396 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_32 (res_code, res_ops, seq, valueize, type, captures, FLOOR_DIV_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_ROUND_DIV_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_onep (op1))
    {
      {
/* #line 148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_189 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_158 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_208 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_98 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op1 };
							    if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 396 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_32 (res_code, res_ops, seq, valueize, type, captures, ROUND_DIV_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_EXACT_DIV_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_onep (op1))
    {
      {
/* #line 148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_189 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_158 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_208 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_98 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_172 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 182 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_23 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 199 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_45 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op1 };
							    if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_13 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 396 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_32 (res_code, res_ops, seq, valueize, type, captures, EXACT_DIV_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_RDIV_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (FLOAT_TYPE_P (type) && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:216, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] =  build_one_cst (type);
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 222 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_162 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 222 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_162 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case ABS_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
								{
								  {
/* #line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
								    if (gimple_simplify_26 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case ABS_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o30 || (operand_equal_p (o50, o30, 0) && types_match (o50, o30)))
								{
								  {
/* #line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
								    if (gimple_simplify_26 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_26 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_26 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (real_onep (op1))
    {
      {
/* #line 244 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 244 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (!HONOR_SNANS (type))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:245, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] = captures[0];
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  if (real_minus_onep (op1))
    {
      {
/* #line 250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (!HONOR_SNANS (type))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:251, %s:%d\n", __FILE__, __LINE__);
	    *res_code = NEGATE_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case RDIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
/* #line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_reciprocal_math)
			      {
				gimple_seq *lseq = seq;
				if (lseq
				    && (!single_use (captures[0])))
				  lseq = NULL;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:257, %s:%d\n", __FILE__, __LINE__);
				*res_code = RDIV_EXPR;
				res_ops[0] = captures[1];
				{
				  tree ops1[2], res;
				  ops1[0] = captures[2];
				  ops1[1] = captures[3];
				  code_helper tem_code = MULT_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case RDIV_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  {
/* #line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o31 };
/* #line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_reciprocal_math)
			      {
				gimple_seq *lseq = seq;
				if (lseq
				    && (!single_use (captures[1])))
				  lseq = NULL;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:262, %s:%d\n", __FILE__, __LINE__);
				*res_code = MULT_EXPR;
				{
				  tree ops1[2], res;
				  ops1[0] = captures[0];
				  ops1[1] = captures[2];
				  code_helper tem_code = RDIV_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[0] = res;
				}
				res_ops[1] = captures[3];
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (optimize)
	    {
/* #line 284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (flag_reciprocal_math && !real_zerop (captures[1]))
		{
		  {
/* #line 286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 288 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (tem)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:289, %s:%d\n", __FILE__, __LINE__);
			  *res_code = MULT_EXPR;
			  res_ops[0] = captures[0];
			  res_ops[1] =  tem;
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		  }
		}
	      else
		{
/* #line 290 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (REAL_CST != COMPLEX_CST)
		    {
		      {
/* #line 291 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 292 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (inverse)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:293, %s:%d\n", __FILE__, __LINE__);
			      *res_code = MULT_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] =  inverse;
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    case COMPLEX_CST:
      {
	{
/* #line 283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (optimize)
	    {
/* #line 284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (flag_reciprocal_math && !real_zerop (captures[1]))
		{
		  {
/* #line 286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 288 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (tem)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:289, %s:%d\n", __FILE__, __LINE__);
			  *res_code = MULT_EXPR;
			  res_ops[0] = captures[0];
			  res_ops[1] =  tem;
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		  }
		}
	      else
		{
/* #line 290 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (COMPLEX_CST != COMPLEX_CST)
		    {
		      {
/* #line 291 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 292 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (inverse)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:293, %s:%d\n", __FILE__, __LINE__);
			      *res_code = MULT_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] =  inverse;
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    case VECTOR_CST:
      {
	{
/* #line 283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (optimize)
	    {
/* #line 284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (flag_reciprocal_math && !real_zerop (captures[1]))
		{
		  {
/* #line 286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 288 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (tem)
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:289, %s:%d\n", __FILE__, __LINE__);
			  *res_code = MULT_EXPR;
			  res_ops[0] = captures[0];
			  res_ops[1] =  tem;
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		  }
		}
	      else
		{
/* #line 290 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (VECTOR_CST != COMPLEX_CST)
		    {
		      {
/* #line 291 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 292 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (inverse)
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:293, %s:%d\n", __FILE__, __LINE__);
			      *res_code = MULT_EXPR;
			      res_ops[0] = captures[0];
			      res_ops[1] =  inverse;
			      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    if (do_valueize (valueize, op1) != NULL_TREE)
	      {
	        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
		if (gassign *def = dyn_cast <gassign *> (def_stmt))
		  switch (gimple_assign_rhs_code (def))
		    {
		    case MULT_EXPR:
		      {
			tree o30 = gimple_assign_rhs1 (def);
			if ((o30 = do_valueize (valueize, o30)))
			  {
			    tree o31 = gimple_assign_rhs2 (def);
			    if ((o31 = do_valueize (valueize, o31)))
			      {
				if (tree_swap_operands_p (o30, o31))
				  std::swap (o30, o31);
				switch (TREE_CODE (o31))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 525 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o31 };
/* #line 525 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (flag_reciprocal_math)
					  {
					    {
/* #line 526 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, captures[0], captures[2]);
/* #line 528 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						if (tem)
						  {
						    gimple_seq *lseq = seq;
						    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:529, %s:%d\n", __FILE__, __LINE__);
						    *res_code = RDIV_EXPR;
						    res_ops[0] =  tem;
						    res_ops[1] = captures[1];
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					    }
					  }
				      }
				      break;
				    }
			          default:;
			          }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case RDIV_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o40, o41 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3126, %s:%d\n", __FILE__, __LINE__);
						    *res_code = MULT_EXPR;
						    res_ops[0] = captures[0];
						    {
						      tree ops1[1], res;
						      {
							tree ops2[2], res;
							ops2[0] = captures[4];
							ops2[1] = captures[3];
							code_helper tem_code = RDIV_EXPR;
							tree tem_ops[3] = { ops2[0], ops2[1] };
							gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
							res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
							if (!res) return false;
							ops1[0] = res;
						      }
						      code_helper tem_code = CFN_BUILT_IN_SQRTF;
						      tree tem_ops[3] = { ops1[0] };
						      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						      if (!res) return false;
						      res_ops[1] = res;
						    }
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case RDIV_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o40, o41 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3126, %s:%d\n", __FILE__, __LINE__);
						    *res_code = MULT_EXPR;
						    res_ops[0] = captures[0];
						    {
						      tree ops1[1], res;
						      {
							tree ops2[2], res;
							ops2[0] = captures[4];
							ops2[1] = captures[3];
							code_helper tem_code = RDIV_EXPR;
							tree tem_ops[3] = { ops2[0], ops2[1] };
							gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
							res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
							if (!res) return false;
							ops1[0] = res;
						      }
						      code_helper tem_code = CFN_BUILT_IN_SQRT;
						      tree tem_ops[3] = { ops1[0] };
						      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						      if (!res) return false;
						      res_ops[1] = res;
						    }
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case RDIV_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o40, o41 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3126, %s:%d\n", __FILE__, __LINE__);
						    *res_code = MULT_EXPR;
						    res_ops[0] = captures[0];
						    {
						      tree ops1[1], res;
						      {
							tree ops2[2], res;
							ops2[0] = captures[4];
							ops2[1] = captures[3];
							code_helper tem_code = RDIV_EXPR;
							tree tem_ops[3] = { ops2[0], ops2[1] };
							gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
							res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
							if (!res) return false;
							ops1[0] = res;
						      }
						      code_helper tem_code = CFN_BUILT_IN_SQRTL;
						      tree tem_ops[3] = { ops1[0] };
						      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						      if (!res) return false;
						      res_ops[1] = res;
						    }
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case RDIV_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o40, o41 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3126, %s:%d\n", __FILE__, __LINE__);
						    *res_code = MULT_EXPR;
						    res_ops[0] = captures[0];
						    {
						      tree ops1[1], res;
						      {
							tree ops2[2], res;
							ops2[0] = captures[4];
							ops2[1] = captures[3];
							code_helper tem_code = RDIV_EXPR;
							tree tem_ops[3] = { ops2[0], ops2[1] };
							gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
							res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
							if (!res) return false;
							ops1[0] = res;
						      }
						      code_helper tem_code = CFN_SQRT;
						      tree tem_ops[3] = { ops1[0] };
						      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						      if (!res) return false;
						      res_ops[1] = res;
						    }
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTF:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case RDIV_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o40, o41 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3126, %s:%d\n", __FILE__, __LINE__);
						    *res_code = MULT_EXPR;
						    res_ops[0] = captures[0];
						    {
						      tree ops1[1], res;
						      {
							tree ops2[2], res;
							ops2[0] = captures[4];
							ops2[1] = captures[3];
							code_helper tem_code = RDIV_EXPR;
							tree tem_ops[3] = { ops2[0], ops2[1] };
							gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
							res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
							if (!res) return false;
							ops1[0] = res;
						      }
						      code_helper tem_code = CFN_BUILT_IN_CBRTF;
						      tree tem_ops[3] = { ops1[0] };
						      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						      if (!res) return false;
						      res_ops[1] = res;
						    }
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRT:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case RDIV_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o40, o41 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3126, %s:%d\n", __FILE__, __LINE__);
						    *res_code = MULT_EXPR;
						    res_ops[0] = captures[0];
						    {
						      tree ops1[1], res;
						      {
							tree ops2[2], res;
							ops2[0] = captures[4];
							ops2[1] = captures[3];
							code_helper tem_code = RDIV_EXPR;
							tree tem_ops[3] = { ops2[0], ops2[1] };
							gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
							res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
							if (!res) return false;
							ops1[0] = res;
						      }
						      code_helper tem_code = CFN_BUILT_IN_CBRT;
						      tree tem_ops[3] = { ops1[0] };
						      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						      if (!res) return false;
						      res_ops[1] = res;
						    }
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTL:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case RDIV_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o30, o40, o41 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3126, %s:%d\n", __FILE__, __LINE__);
						    *res_code = MULT_EXPR;
						    res_ops[0] = captures[0];
						    {
						      tree ops1[1], res;
						      {
							tree ops2[2], res;
							ops2[0] = captures[4];
							ops2[1] = captures[3];
							code_helper tem_code = RDIV_EXPR;
							tree tem_ops[3] = { ops2[0], ops2[1] };
							gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
							res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
							if (!res) return false;
							ops1[0] = res;
						      }
						      code_helper tem_code = CFN_BUILT_IN_CBRTL;
						      tree tem_ops[3] = { ops1[0] };
						      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						      if (!res) return false;
						      res_ops[1] = res;
						    }
						    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPF:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXPF;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXP;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPL:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXPL;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_EXP;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2F:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXP2F;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXP2;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2L:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXP2L;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP2:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_EXP2;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10F:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXP10F;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXP10;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10L:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_EXP10L;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP10:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_EXP10;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10F:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_POW10F;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_POW10;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10L:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o30 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3132, %s:%d\n", __FILE__, __LINE__);
			    *res_code = MULT_EXPR;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[1], res;
			      {
				tree ops2[1], res;
				ops2[0] = captures[2];
				code_helper tem_code = NEGATE_EXPR;
				tree tem_ops[3] = { ops2[0] };
				gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
				res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
				if (!res) return false;
				ops1[0] = res;
			      }
			      code_helper tem_code = CFN_BUILT_IN_POW10L;
			      tree tem_ops[3] = { ops1[0] };
			      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SINF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_COSF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_27 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_TANF))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  case CFN_BUILT_IN_TANF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_196 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_COS:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_27 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS, CFN_BUILT_IN_TAN))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  case CFN_BUILT_IN_TAN:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_196 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_COSL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_27 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_TANL))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  case CFN_BUILT_IN_TANL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_196 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_COS:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_27 (res_code, res_ops, seq, valueize, type, captures, CFN_SIN, CFN_COS, CFN_TAN))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  case CFN_TAN:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_196 (res_code, res_ops, seq, valueize, type, captures, CFN_SIN, CFN_TAN, CFN_COS))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_COSF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SINF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_50 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SIN:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_50 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SINL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_50 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_SIN:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_50 (res_code, res_ops, seq, valueize, type, captures, CFN_COS, CFN_SIN, CFN_TAN))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_TANF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SINF:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_104 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SIN:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_104 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_BUILT_IN_SINL:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_104 (res_code, res_ops, 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:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_SIN:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
						if (gimple_simplify_104 (res_code, res_ops, seq, valueize, type, captures, CFN_TAN, CFN_SIN, CFN_COS))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				      if (gimple_simplify_40 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				      if (gimple_simplify_40 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POW))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				      if (gimple_simplify_40 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				      if (gimple_simplify_40 (res_code, res_ops, seq, valueize, type, captures, CFN_POW))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o31 };
			    if (gimple_simplify_174 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o31 };
			    if (gimple_simplify_174 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POW))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o31 };
			    if (gimple_simplify_174 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o31 };
			    if (gimple_simplify_174 (res_code, res_ops, seq, valueize, type, captures, CFN_POW))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CEIL_MOD_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op0))
    {
      {
/* #line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_140 (res_code, res_ops, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (op1))
    {
      {
/* #line 305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_192 (res_code, res_ops, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 309 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_16 (res_code, res_ops, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_124 (res_code, res_ops, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CEIL_MOD_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_185 (res_code, res_ops, seq, valueize, type, captures, CEIL_MOD_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 324 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_3 (res_code, res_ops, seq, valueize, type, captures, CEIL_MOD_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_FLOOR_MOD_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op0))
    {
      {
/* #line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_140 (res_code, res_ops, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (op1))
    {
      {
/* #line 305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_192 (res_code, res_ops, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 309 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_16 (res_code, res_ops, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_124 (res_code, res_ops, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case FLOOR_MOD_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_185 (res_code, res_ops, seq, valueize, type, captures, FLOOR_MOD_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 324 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_3 (res_code, res_ops, seq, valueize, type, captures, FLOOR_MOD_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o30_pops[1];
		      if (gimple_power_of_two_cand (o30, o30_pops, valueize))
		        {
			  tree o40 = o30_pops[0];
			  {
/* #line 372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o40 };
			    if (gimple_simplify_80 (res_code, res_ops, seq, valueize, type, captures, FLOOR_MOD_EXPR))
			      return true;
			  }
}
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
tree op1_pops[1];
if (gimple_power_of_two_cand (op1, op1_pops, valueize))
  {
    tree o30 = op1_pops[0];
    {
/* #line 372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, op1, o30 };
      if (gimple_simplify_101 (res_code, res_ops, seq, valueize, type, captures, FLOOR_MOD_EXPR))
        return true;
    }
}
  return false;
}

static bool
gimple_simplify_ROUND_MOD_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op0))
    {
      {
/* #line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_140 (res_code, res_ops, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (op1))
    {
      {
/* #line 305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_192 (res_code, res_ops, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 309 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_16 (res_code, res_ops, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_124 (res_code, res_ops, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case ROUND_MOD_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_185 (res_code, res_ops, seq, valueize, type, captures, ROUND_MOD_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 324 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_3 (res_code, res_ops, seq, valueize, type, captures, ROUND_MOD_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_TRUNC_MOD_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_zerop (op0))
    {
      {
/* #line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_140 (res_code, res_ops, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (op1))
    {
      {
/* #line 305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_192 (res_code, res_ops, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (op1))
    {
      {
/* #line 309 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_16 (res_code, res_ops, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_124 (res_code, res_ops, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_185 (res_code, res_ops, seq, valueize, type, captures, TRUNC_MOD_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 324 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_3 (res_code, res_ops, seq, valueize, type, captures, TRUNC_MOD_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { op0, o40 };
					    if (gimple_simplify_56 (res_code, res_ops, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    tree o30_pops[1];
		    if (gimple_power_of_two_cand (o30, o30_pops, valueize))
		      {
			tree o40 = o30_pops[0];
			{
/* #line 372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o40 };
			  if (gimple_simplify_80 (res_code, res_ops, seq, valueize, type, captures, TRUNC_MOD_EXPR))
			    return true;
			}
}
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			if (gimple_simplify_56 (res_code, res_ops, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 332 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 332 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (TYPE_SIGN (type) == SIGNED && !TREE_OVERFLOW (captures[1]) && wi::neg_p (captures[1]) && !TYPE_OVERFLOW_TRAPS (type) && !sign_bit_p (captures[1], captures[1]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:338, %s:%d\n", __FILE__, __LINE__);
	      *res_code = TRUNC_MOD_EXPR;
	      res_ops[0] = captures[0];
	      {
		tree ops1[1], res;
		ops1[0] = captures[1];
		code_helper tem_code = NEGATE_EXPR;
		tree tem_ops[3] = { ops1[0] };
		gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
		res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
		if (!res) return false;
		res_ops[1] = res;
	      }
	      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
tree op1_pops[1];
if (gimple_power_of_two_cand (op1, op1_pops, valueize))
  {
    tree o30 = op1_pops[0];
    {
/* #line 372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, op1, o30 };
      if (gimple_simplify_101 (res_code, res_ops, seq, valueize, type, captures, TRUNC_MOD_EXPR))
        return true;
    }
}
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      combined_fn pows = CFN_BUILT_IN_POWF;
			      {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:412, %s:%d\n", __FILE__, __LINE__);
				      *res_code = pows;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      combined_fn pows = CFN_BUILT_IN_POWF;
			      {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:412, %s:%d\n", __FILE__, __LINE__);
				      *res_code = pows;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case REAL_CST:
			      {
				{
/* #line 450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				  if (gimple_simplify_210 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWF, CFN_BUILT_IN_COPYSIGNF))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXPF;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10F:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10F;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3387, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POWF;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[1];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (tree_expr_nonnegative_p (o20))
			{
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3391, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POWF;
				res_ops[0] = captures[0];
				{
				  tree ops1[2], res;
				  ops1[0] = captures[1];
				  ops1[1] =  build_real_truncate (type, dconst_third ());
				  code_helper tem_code = MULT_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_expr_nonnegative_p (o20))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3395, %s:%d\n", __FILE__, __LINE__);
				    *res_code = CFN_BUILT_IN_POWF;
				    res_ops[0] = captures[0];
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[1];
				      ops1[1] = captures[2];
				      code_helper tem_code = MULT_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (op0))
  {
    {
/* #line 3260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      if (gimple_simplify_92 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
        return true;
    }
  }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3553 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  {
/* #line 3553 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 3559 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3560, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  build_real (type, dconst1);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 3562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1))
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3563, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] = captures[0];
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 3565 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1))
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3566, %s:%d\n", __FILE__, __LINE__);
			  *res_code = RDIV_EXPR;
			  res_ops[0] =  build_real (type, dconst1);
			  res_ops[1] = captures[0];
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		      else
			{
/* #line 3568 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p () && real_equal (value, &dconsthalf))
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3571, %s:%d\n", __FILE__, __LINE__);
			      *res_code = CFN_BUILT_IN_SQRTF;
			      res_ops[0] = captures[0];
			      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			  else
			    {
/* #line 3573 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3577, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_CBRTF;
				  res_ops[0] = captures[0];
				  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POW (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      combined_fn pows = CFN_BUILT_IN_POW;
			      {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:412, %s:%d\n", __FILE__, __LINE__);
				      *res_code = pows;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      combined_fn pows = CFN_BUILT_IN_POW;
			      {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:412, %s:%d\n", __FILE__, __LINE__);
				      *res_code = pows;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case REAL_CST:
			      {
				{
/* #line 450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				  if (gimple_simplify_210 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POW, CFN_BUILT_IN_COPYSIGN))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3387, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[1];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (tree_expr_nonnegative_p (o20))
			{
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3391, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POW;
				res_ops[0] = captures[0];
				{
				  tree ops1[2], res;
				  ops1[0] = captures[1];
				  ops1[1] =  build_real_truncate (type, dconst_third ());
				  code_helper tem_code = MULT_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_expr_nonnegative_p (o20))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3395, %s:%d\n", __FILE__, __LINE__);
				    *res_code = CFN_BUILT_IN_POW;
				    res_ops[0] = captures[0];
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[1];
				      ops1[1] = captures[2];
				      code_helper tem_code = MULT_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (op0))
  {
    {
/* #line 3260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      if (gimple_simplify_92 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POW))
        return true;
    }
  }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3553 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  {
/* #line 3553 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 3559 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3560, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  build_real (type, dconst1);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 3562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1))
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3563, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] = captures[0];
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 3565 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1))
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3566, %s:%d\n", __FILE__, __LINE__);
			  *res_code = RDIV_EXPR;
			  res_ops[0] =  build_real (type, dconst1);
			  res_ops[1] = captures[0];
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		      else
			{
/* #line 3568 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p () && real_equal (value, &dconsthalf))
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3571, %s:%d\n", __FILE__, __LINE__);
			      *res_code = CFN_BUILT_IN_SQRT;
			      res_ops[0] = captures[0];
			      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			  else
			    {
/* #line 3573 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3577, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_CBRT;
				  res_ops[0] = captures[0];
				  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      combined_fn pows = CFN_BUILT_IN_POWL;
			      {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:412, %s:%d\n", __FILE__, __LINE__);
				      *res_code = pows;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      combined_fn pows = CFN_BUILT_IN_POWL;
			      {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:412, %s:%d\n", __FILE__, __LINE__);
				      *res_code = pows;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case REAL_CST:
			      {
				{
/* #line 450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				  if (gimple_simplify_210 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWL, CFN_BUILT_IN_COPYSIGNL))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXPL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXPL;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP2L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP2L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_EXP10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_EXP10L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POW10L:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POW10L;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3387, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_POWL;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[1];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_CBRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (tree_expr_nonnegative_p (o20))
			{
			  {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			      {
				gimple_seq *lseq = seq;
				if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3391, %s:%d\n", __FILE__, __LINE__);
				*res_code = CFN_BUILT_IN_POWL;
				res_ops[0] = captures[0];
				{
				  tree ops1[2], res;
				  ops1[0] = captures[1];
				  ops1[1] =  build_real_truncate (type, dconst_third ());
				  code_helper tem_code = MULT_EXPR;
				  tree tem_ops[3] = { ops1[0], ops1[1] };
				  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				  if (!res) return false;
				  res_ops[1] = res;
				}
				gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				return true;
			      }
			  }
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_POWL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_expr_nonnegative_p (o20))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3395, %s:%d\n", __FILE__, __LINE__);
				    *res_code = CFN_BUILT_IN_POWL;
				    res_ops[0] = captures[0];
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[1];
				      ops1[1] = captures[2];
				      code_helper tem_code = MULT_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (op0))
  {
    {
/* #line 3260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      if (gimple_simplify_92 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
        return true;
    }
  }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3553 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  {
/* #line 3553 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 3559 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3560, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] =  build_real (type, dconst1);
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 3562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1))
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3563, %s:%d\n", __FILE__, __LINE__);
		      res_ops[0] = captures[0];
		      *res_code = TREE_CODE (res_ops[0]);
		      return true;
		    }
		  else
		    {
/* #line 3565 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1))
			{
			  gimple_seq *lseq = seq;
			  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3566, %s:%d\n", __FILE__, __LINE__);
			  *res_code = RDIV_EXPR;
			  res_ops[0] =  build_real (type, dconst1);
			  res_ops[1] = captures[0];
			  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			  return true;
			}
		      else
			{
/* #line 3568 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p () && real_equal (value, &dconsthalf))
			    {
			      gimple_seq *lseq = seq;
			      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3571, %s:%d\n", __FILE__, __LINE__);
			      *res_code = CFN_BUILT_IN_SQRTL;
			      res_ops[0] = captures[0];
			      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			      return true;
			    }
			  else
			    {
/* #line 3573 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3577, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_CBRTL;
				  res_ops[0] = captures[0];
				  gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_POW (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      combined_fn pows = CFN_POW;
			      {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:412, %s:%d\n", __FILE__, __LINE__);
				      *res_code = pows;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      combined_fn pows = CFN_POW;
			      {
/* #line 410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:412, %s:%d\n", __FILE__, __LINE__);
				      *res_code = pows;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[1];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case REAL_CST:
			      {
				{
/* #line 450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				  if (gimple_simplify_210 (res_code, res_ops, seq, valueize, type, captures, CFN_POW, CFN_COPYSIGN))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case CFN_EXP:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_EXP;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP2:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_EXP2;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_EXP10:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations)
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3227, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_EXP10;
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[0];
			      ops1[1] = captures[1];
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[0] = res;
			    }
			    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ())
			  {
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3387, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_POW;
			    res_ops[0] = captures[0];
			    {
			      tree ops1[2], res;
			      ops1[0] = captures[1];
			      ops1[1] =  build_real (type, dconsthalf);
			      code_helper tem_code = MULT_EXPR;
			      tree tem_ops[3] = { ops1[0], ops1[1] };
			      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
			      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
			      if (!res) return false;
			      res_ops[1] = res;
			    }
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		      }
		    }
	          break;
	        }
	      case CFN_POW:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_expr_nonnegative_p (o20))
			    {
			      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (flag_unsafe_math_optimizations && canonicalize_math_p ())
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3395, %s:%d\n", __FILE__, __LINE__);
				    *res_code = CFN_POW;
				    res_ops[0] = captures[0];
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[1];
				      ops1[1] = captures[2];
				      code_helper tem_code = MULT_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (op0))
  {
    {
/* #line 3260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      if (gimple_simplify_92 (res_code, res_ops, seq, valueize, type, captures, CFN_POW))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWIF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (wi::bit_and (captures[1], 1) == 0)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:418, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_POWIF;
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (wi::bit_and (captures[1], 1) == 0)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:418, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_POWIF;
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
/* #line 458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (wi::bit_and (captures[2], 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:459, %s:%d\n", __FILE__, __LINE__);
				      *res_code = CFN_BUILT_IN_POWIF;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[2];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (op0))
  {
    {
/* #line 3582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      if (gimple_simplify_94 (res_code, res_ops, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 3588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (wi::eq_p (captures[1], 0))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3589, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_real (type, dconst1);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
/* #line 3591 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (wi::eq_p (captures[1], 1))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3592, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] = captures[0];
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 3594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (wi::eq_p (captures[1], -1))
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3595, %s:%d\n", __FILE__, __LINE__);
		      *res_code = RDIV_EXPR;
		      res_ops[0] =  build_real (type, dconst1);
		      res_ops[1] = captures[0];
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWI (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (wi::bit_and (captures[1], 1) == 0)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:418, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_POWI;
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (wi::bit_and (captures[1], 1) == 0)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:418, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_POWI;
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
/* #line 458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (wi::bit_and (captures[2], 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:459, %s:%d\n", __FILE__, __LINE__);
				      *res_code = CFN_BUILT_IN_POWI;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[2];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (op0))
  {
    {
/* #line 3582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      if (gimple_simplify_94 (res_code, res_ops, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 3588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (wi::eq_p (captures[1], 0))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3589, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_real (type, dconst1);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
/* #line 3591 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (wi::eq_p (captures[1], 1))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3592, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] = captures[0];
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 3594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (wi::eq_p (captures[1], -1))
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3595, %s:%d\n", __FILE__, __LINE__);
		      *res_code = RDIV_EXPR;
		      res_ops[0] =  build_real (type, dconst1);
		      res_ops[1] = captures[0];
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWIL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (wi::bit_and (captures[1], 1) == 0)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:418, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_POWIL;
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      if (wi::bit_and (captures[1], 1) == 0)
				{
				  gimple_seq *lseq = seq;
				  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:418, %s:%d\n", __FILE__, __LINE__);
				  *res_code = CFN_BUILT_IN_POWIL;
				  res_ops[0] = captures[0];
				  res_ops[1] = captures[1];
				  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				  return true;
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
/* #line 458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  if (wi::bit_and (captures[2], 1) == 0)
				    {
				      gimple_seq *lseq = seq;
				      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:459, %s:%d\n", __FILE__, __LINE__);
				      *res_code = CFN_BUILT_IN_POWIL;
				      res_ops[0] = captures[0];
				      res_ops[1] = captures[2];
				      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				      return true;
				    }
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (op0))
  {
    {
/* #line 3582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      if (gimple_simplify_94 (res_code, res_ops, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 3588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (wi::eq_p (captures[1], 0))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3589, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] =  build_real (type, dconst1);
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
/* #line 3591 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (wi::eq_p (captures[1], 1))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3592, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] = captures[0];
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	      else
		{
/* #line 3594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		  if (wi::eq_p (captures[1], -1))
		    {
		      gimple_seq *lseq = seq;
		      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3595, %s:%d\n", __FILE__, __LINE__);
		      *res_code = RDIV_EXPR;
		      res_ops[0] =  build_real (type, dconst1);
		      res_ops[1] = captures[0];
		      gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
		      return true;
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_HYPOTF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:423, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOTF;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:423, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOTF;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:426, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOTF;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:426, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOTF;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 466 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:466, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_HYPOTF;
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[2];
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  {
/* #line 470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o31 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:470, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_HYPOTF;
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (op1))
  {
    {
/* #line 3255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3255, %s:%d\n", __FILE__, __LINE__);
      *res_code = ABS_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  }
  if (real_zerop (op0))
    {
      {
/* #line 3255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3255, %s:%d\n", __FILE__, __LINE__);
	*res_code = ABS_EXPR;
	res_ops[0] = captures[0];
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3405, %s:%d\n", __FILE__, __LINE__);
	    *res_code = MULT_EXPR;
	    {
	      tree ops1[1], res;
	      ops1[0] = captures[0];
	      code_helper tem_code = ABS_EXPR;
	      tree tem_ops[3] = { ops1[0] };
	      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	      if (!res) return false;
	      res_ops[0] = res;
	    }
	    res_ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
	    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_HYPOT (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:423, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOT;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:423, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOT;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:426, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOT;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:426, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOT;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 466 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:466, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_HYPOT;
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[2];
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  {
/* #line 470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o31 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:470, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_HYPOT;
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (op1))
  {
    {
/* #line 3255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3255, %s:%d\n", __FILE__, __LINE__);
      *res_code = ABS_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  }
  if (real_zerop (op0))
    {
      {
/* #line 3255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3255, %s:%d\n", __FILE__, __LINE__);
	*res_code = ABS_EXPR;
	res_ops[0] = captures[0];
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3405, %s:%d\n", __FILE__, __LINE__);
	    *res_code = MULT_EXPR;
	    {
	      tree ops1[1], res;
	      ops1[0] = captures[0];
	      code_helper tem_code = ABS_EXPR;
	      tree tem_ops[3] = { ops1[0] };
	      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	      if (!res) return false;
	      res_ops[0] = res;
	    }
	    res_ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
	    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_HYPOTL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:423, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOTL;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:423, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOTL;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:426, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOTL;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      {
/* #line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:426, %s:%d\n", __FILE__, __LINE__);
			*res_code = CFN_BUILT_IN_HYPOTL;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 466 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:466, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_HYPOTL;
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[2];
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        {
		  tree o30 = gimple_call_arg (def, 0);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_call_arg (def, 1);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  {
/* #line 470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o31 };
			    gimple_seq *lseq = seq;
			    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:470, %s:%d\n", __FILE__, __LINE__);
			    *res_code = CFN_BUILT_IN_HYPOTL;
			    res_ops[0] = captures[0];
			    res_ops[1] = captures[1];
			    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			    return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (op1))
  {
    {
/* #line 3255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
      gimple_seq *lseq = seq;
      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3255, %s:%d\n", __FILE__, __LINE__);
      *res_code = ABS_EXPR;
      res_ops[0] = captures[0];
      gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
      return true;
    }
  }
  if (real_zerop (op0))
    {
      {
/* #line 3255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3255, %s:%d\n", __FILE__, __LINE__);
	*res_code = ABS_EXPR;
	res_ops[0] = captures[0];
	gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ())
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3405, %s:%d\n", __FILE__, __LINE__);
	    *res_code = MULT_EXPR;
	    {
	      tree ops1[1], res;
	      ops1[0] = captures[0];
	      code_helper tem_code = ABS_EXPR;
	      tree tem_ops[3] = { ops1[0] };
	      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
	      if (!res) return false;
	      res_ops[0] = res;
	    }
	    res_ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
	    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF;
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:431, %s:%d\n", __FILE__, __LINE__);
			*res_code = copysigns;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF;
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:431, %s:%d\n", __FILE__, __LINE__);
			*res_code = copysigns;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_148 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
			    if (gimple_simplify_82 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 3265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_142 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
	  return true;
      }
    }
  if (tree_expr_nonnegative_p (op1))
    {
      {
/* #line 3270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_206 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGN (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			combined_fn copysigns = CFN_BUILT_IN_COPYSIGN;
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:431, %s:%d\n", __FILE__, __LINE__);
			*res_code = copysigns;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			combined_fn copysigns = CFN_BUILT_IN_COPYSIGN;
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:431, %s:%d\n", __FILE__, __LINE__);
			*res_code = copysigns;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_148 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
			    if (gimple_simplify_82 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 3265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_142 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
	  return true;
      }
    }
  if (tree_expr_nonnegative_p (op1))
    {
      {
/* #line 3270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_206 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			combined_fn copysigns = CFN_BUILT_IN_COPYSIGNL;
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:431, %s:%d\n", __FILE__, __LINE__);
			*res_code = copysigns;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			combined_fn copysigns = CFN_BUILT_IN_COPYSIGNL;
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:431, %s:%d\n", __FILE__, __LINE__);
			*res_code = copysigns;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_148 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
			    if (gimple_simplify_82 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 3265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_142 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
	  return true;
      }
    }
  if (tree_expr_nonnegative_p (op1))
    {
      {
/* #line 3270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_206 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_COPYSIGN (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			combined_fn copysigns = CFN_COPYSIGN;
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:431, %s:%d\n", __FILE__, __LINE__);
			*res_code = copysigns;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      {
/* #line 431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			combined_fn copysigns = CFN_COPYSIGN;
			gimple_seq *lseq = seq;
			if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:431, %s:%d\n", __FILE__, __LINE__);
			*res_code = copysigns;
			res_ops[0] = captures[0];
			res_ops[1] = captures[1];
			gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
			return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_148 (res_code, res_ops, seq, valueize, type, captures, CFN_COPYSIGN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_COPYSIGN:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_call_arg (def, 1);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  {
/* #line 484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
			    if (gimple_simplify_82 (res_code, res_ops, seq, valueize, type, captures, CFN_COPYSIGN))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 3265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_142 (res_code, res_ops, seq, valueize, type, captures, CFN_COPYSIGN))
	  return true;
      }
    }
  if (tree_expr_nonnegative_p (op1))
    {
      {
/* #line 3270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_206 (res_code, res_ops, seq, valueize, type, captures, CFN_COPYSIGN))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_BIT_AND_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
								{
								  {
/* #line 534 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
								    if (gimple_simplify_54 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      if (o50 == o30 || (operand_equal_p (o50, o30, 0) && types_match (o50, o30)))
								{
								  {
/* #line 534 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { o30 };
								    if (gimple_simplify_54 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 534 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_54 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 534 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_54 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  switch (TREE_CODE (o30))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o30) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case LSHIFT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      tree o41 = gimple_assign_rhs2 (def);
					      if ((o41 = do_valueize (valueize, o41)))
					        {
						  if (integer_onep (o40))
						    {
						      if (integer_minus_onep (o31))
							{
							  {
/* #line 539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o30, o41 };
/* #line 539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:540, %s:%d\n", __FILE__, __LINE__);
								*res_code = BIT_AND_EXPR;
								res_ops[0] = captures[0];
								{
								  tree ops1[1], res;
								  {
								    tree ops2[2], res;
								    ops2[0] =  build_all_ones_cst (type);
								    ops2[1] = captures[3];
								    code_helper tem_code = LSHIFT_EXPR;
								    tree tem_ops[3] = { ops2[0], ops2[1] };
								    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
								    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
								    if (!res) return false;
								    ops1[0] = res;
								  }
								  code_helper tem_code = BIT_NOT_EXPR;
								  tree tem_ops[3] = { ops1[0] };
								  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
								  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
								  if (!res) return false;
								  res_ops[1] = res;
								}
								gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
								return true;
							      }
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case LSHIFT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      tree o31 = gimple_assign_rhs2 (def);
					      if ((o31 = do_valueize (valueize, o31)))
					        {
						  if (integer_onep (o30))
						    {
						      if (integer_minus_onep (o21))
							{
							  {
/* #line 539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { op1, op0, o20, o31 };
/* #line 539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:540, %s:%d\n", __FILE__, __LINE__);
								*res_code = BIT_AND_EXPR;
								res_ops[0] = captures[0];
								{
								  tree ops1[1], res;
								  {
								    tree ops2[2], res;
								    ops2[0] =  build_all_ones_cst (type);
								    ops2[1] = captures[3];
								    code_helper tem_code = LSHIFT_EXPR;
								    tree tem_ops[3] = { ops2[0], ops2[1] };
								    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops2[0]), tem_ops, valueize);
								    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops2[0]), tem_ops, lseq);
								    if (!res) return false;
								    ops1[0] = res;
								  }
								  code_helper tem_code = BIT_NOT_EXPR;
								  tree tem_ops[3] = { ops1[0] };
								  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
								  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
								  if (!res) return false;
								  res_ops[1] = res;
								}
								gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
								return true;
							      }
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_zerop (o21))
			    {
			      switch (TREE_CODE (op1))
			        {
				case SSA_NAME:
				  if (do_valueize (valueize, op1) != NULL_TREE)
				    {
				      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				      if (gassign *def = dyn_cast <gassign *> (def_stmt))
				        switch (gimple_assign_rhs_code (def))
					  {
					  case EQ_EXPR:
					    {
					      tree o50 = gimple_assign_rhs1 (def);
					      if ((o50 = do_valueize (valueize, o50)))
					        {
						  tree o51 = gimple_assign_rhs2 (def);
						  if ((o51 = do_valueize (valueize, o51)))
						    {
						      if (tree_swap_operands_p (o50, o51))
						        std::swap (o50, o51);
						      if (integer_zerop (o51))
							{
							  {
/* #line 549 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							    if (gimple_simplify_38 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, EQ_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					      break;
					    }
					  default:;
					  }
				    }
				  break;
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  {
			    switch (TREE_CODE (op1))
			      {
			      case INTEGER_CST:
			        {
				  {
/* #line 586 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
/* #line 586 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && (get_nonzero_bits (captures[0]) & wi::bit_not (captures[1])) == 0)
				      {
					gimple_seq *lseq = seq;
					if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:588, %s:%d\n", __FILE__, __LINE__);
					*res_code = BIT_XOR_EXPR;
					res_ops[0] = captures[0];
					res_ops[1] = captures[1];
					gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					return true;
				      }
				  }
			          break;
			        }
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (op1))
    {
      {
/* #line 616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:616, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[1];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  if (integer_all_onesp (op1))
    {
      {
/* #line 639 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:639, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[0];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 645 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_64 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      {
	switch (TREE_CODE (op1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 651 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 651 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && (get_nonzero_bits (captures[0]) & wi::bit_not (captures[1])) == 0)
		  {
		    gimple_seq *lseq = seq;
		    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:653, %s:%d\n", __FILE__, __LINE__);
		    res_ops[0] = captures[0];
		    *res_code = TREE_CODE (res_ops[0]);
		    return true;
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
						{
						  {
/* #line 666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o41 };
						    if (gimple_simplify_70 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					      if (o41 == op0 || (operand_equal_p (o41, op0, 0) && types_match (o41, op0)))
						{
						  {
/* #line 666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { op0, o30, o40 };
						    if (gimple_simplify_70 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						{
						  {
/* #line 666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, o20, o31 };
						    if (gimple_simplify_70 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					      if (op1 == o31 || (operand_equal_p (op1, o31, 0) && types_match (op1, o31)))
						{
						  {
/* #line 666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o31, o20, o30 };
						    if (gimple_simplify_70 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
						{
						  {
/* #line 674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o41, op0 };
						    if (gimple_simplify_72 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      if (o41 == o20 || (operand_equal_p (o41, o20, 0) && types_match (o41, o20)))
						{
						  {
/* #line 674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o40, op0 };
						    if (gimple_simplify_72 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  if (o61 == o31 || (operand_equal_p (o61, o31, 0) && types_match (o61, o31)))
									    {
									      {
/* #line 726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o30, o31 };
										if (gimple_simplify_83 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      {
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { o20, o50 };
								if (gimple_simplify_14 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_14 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  {
/* #line 674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
						    if (gimple_simplify_159 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						{
						  {
/* #line 674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, op1 };
						    if (gimple_simplify_159 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					      switch (TREE_CODE (o50))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o50) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  if (o61 == o21 || (operand_equal_p (o61, o21, 0) && types_match (o61, o21)))
									    {
									      {
/* #line 726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
										if (gimple_simplify_83 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      case BIT_XOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      switch (TREE_CODE (o51))
						        {
							case SSA_NAME:
							  if (do_valueize (valueize, o51) != NULL_TREE)
							    {
							      gimple *def_stmt = SSA_NAME_DEF_STMT (o51);
							      if (gassign *def = dyn_cast <gassign *> (def_stmt))
							        switch (gimple_assign_rhs_code (def))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree o70 = gimple_assign_rhs1 (def);
								      if ((o70 = do_valueize (valueize, o70)))
								        {
									  if (o70 == o20 || (operand_equal_p (o70, o20, 0) && types_match (o70, o20)))
									    {
									      {
/* #line 731 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
										if (gimple_simplify_84 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
						  switch (TREE_CODE (o50))
						    {
						    case SSA_NAME:
						      if (do_valueize (valueize, o50) != NULL_TREE)
						        {
						          gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
							  if (gassign *def = dyn_cast <gassign *> (def_stmt))
							    switch (gimple_assign_rhs_code (def))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree o60 = gimple_assign_rhs1 (def);
								  if ((o60 = do_valueize (valueize, o60)))
								    {
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
									    {
									      {
/* #line 731 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
										if (gimple_simplify_84 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
									    {
									      {
/* #line 731 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
										if (gimple_simplify_84 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      switch (TREE_CODE (o51))
						        {
							case SSA_NAME:
							  if (do_valueize (valueize, o51) != NULL_TREE)
							    {
							      gimple *def_stmt = SSA_NAME_DEF_STMT (o51);
							      if (gassign *def = dyn_cast <gassign *> (def_stmt))
							        switch (gimple_assign_rhs_code (def))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree o70 = gimple_assign_rhs1 (def);
								      if ((o70 = do_valueize (valueize, o70)))
								        {
									  if (o70 == o21 || (operand_equal_p (o70, o21, 0) && types_match (o70, o21)))
									    {
									      {
/* #line 731 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
										if (gimple_simplify_84 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o40 || (operand_equal_p (o60, o40, 0) && types_match (o60, o40)))
									{
									  if (o61 == o20 || (operand_equal_p (o61, o20, 0) && types_match (o61, o20)))
									    {
									      {
/* #line 731 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
										if (gimple_simplify_84 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  if (o61 == o21 || (operand_equal_p (o61, o21, 0) && types_match (o61, o21)))
									    {
									      {
/* #line 731 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
										if (gimple_simplify_84 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  if (o61 == o40 || (operand_equal_p (o61, o40, 0) && types_match (o61, o40)))
									    {
									      {
/* #line 731 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
										if (gimple_simplify_84 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
									    {
									      {
/* #line 731 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
										if (gimple_simplify_84 (res_code, res_ops, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 780 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_99 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_XOR_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 780 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_99 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_XOR_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      switch (TREE_CODE (o50))
							        {
								case SSA_NAME:
								  if (do_valueize (valueize, o50) != NULL_TREE)
								    {
								      gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
								      if (gassign *def = dyn_cast <gassign *> (def_stmt))
								        switch (gimple_assign_rhs_code (def))
									  {
									  case BIT_NOT_EXPR:
									    {
									      tree o60 = gimple_assign_rhs1 (def);
									      if ((o60 = do_valueize (valueize, o60)))
									        {
										  {
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[2] ATTRIBUTE_UNUSED = { o30, o60 };
										    if (gimple_simplify_14 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
										      return true;
										  }
									        }
									      break;
									    }
									  default:;
									  }
								    }
								  break;
							        default:;
							        }
							    }
						          break;
						        }
						      case BIT_NOT_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      {
/* #line 739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { o30, o50 };
								if (gimple_simplify_14 (res_code, res_ops, 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 (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 780 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o30, op0 };
				if (gimple_simplify_99 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_XOR_EXPR))
				  return true;
			      }
			    }
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 780 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o31, op0 };
				if (gimple_simplify_99 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_XOR_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  switch (TREE_CODE (o60))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o60) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_IOR_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (tree_swap_operands_p (o70, o71))
											    std::swap (o70, o71);
											  if (o70 == o30 || operand_equal_p (o70, o30, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o30, o31, o71, o30 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o30 || operand_equal_p (o71, o30, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o30, o31, o70, o30 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o31 || operand_equal_p (o70, o31, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o31, o30, o71, o31 };
												if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o31 || operand_equal_p (o71, o31, 0))
											    {
											      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[4] ATTRIBUTE_UNUSED = { o31, o30, o70, o31 };
												if (gimple_simplify_112 (res_code, res_ops, 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 o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  if (o60 == o31 || operand_equal_p (o60, o31, 0))
								    {
								      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op0, o30, o31, o31 };
									if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if (o60 == o30 || operand_equal_p (o60, o30, 0))
								    {
								      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op0, o31, o30, o30 };
									if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									  return true;
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  switch (TREE_CODE (o40))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, o40) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (o40);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case BIT_AND_EXPR:
						        {
							  tree o50 = gimple_assign_rhs1 (def);
							  if ((o50 = do_valueize (valueize, o50)))
							    {
							      tree o51 = gimple_assign_rhs2 (def);
							      if ((o51 = do_valueize (valueize, o51)))
							        {
								  if (tree_swap_operands_p (o50, o51))
								    std::swap (o50, o51);
								  if (o51 == o20 || operand_equal_p (o51, o20, 0))
								    {
								      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op1, o50, o51, o20 };
									if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if (o50 == o20 || operand_equal_p (o50, o20, 0))
								    {
								      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { op1, o51, o50, o20 };
									if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      if (op1 == o31 || operand_equal_p (op1, o31, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op0, o30, o31, o31 };
						    if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					      if (op1 == o30 || operand_equal_p (op1, o30, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op0, o31, o30, o30 };
						    if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_IOR_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || operand_equal_p (o50, o20, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, o20 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || operand_equal_p (o51, o20, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o50, o20 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || operand_equal_p (o50, o21, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o21, o20, o51, o21 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || operand_equal_p (o51, o21, 0))
						    {
						      {
/* #line 792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { o21, o20, o50, o21 };
							if (gimple_simplify_112 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o41 == op0 || operand_equal_p (o41, op0, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op1, o40, o41, op0 };
						    if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					      if (o40 == op0 || operand_equal_p (o40, op0, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op1, o41, o40, op0 };
						    if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == o21 || operand_equal_p (o50, o21, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, o21 };
						    if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					      if (o50 == o20 || operand_equal_p (o50, o20, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op0, o21, o20, o20 };
						    if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (op1 == o21 || operand_equal_p (op1, o21, 0))
			    {
			      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, o21 };
				if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o20 || operand_equal_p (op1, o20, 0))
			    {
			      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { op0, o21, o20, o20 };
				if (gimple_simplify_61 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_assign_rhs2 (def);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (tree_swap_operands_p (o40, o41))
					        std::swap (o40, o41);
					      if (o41 == o20 || operand_equal_p (o41, o20, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op1, o40, o41, o20 };
						    if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					      if (o40 == o20 || operand_equal_p (o40, o20, 0))
						{
						  {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { op1, o41, o40, o20 };
						    if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o31 == op0 || operand_equal_p (o31, op0, 0))
			    {
			      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { op1, o30, o31, op0 };
				if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
				  return true;
			      }
			    }
			  if (o30 == op0 || operand_equal_p (o30, op0, 0))
			    {
			      {
/* #line 802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { op1, o31, o30, op0 };
				if (gimple_simplify_31 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (op1))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, op1) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  switch (TREE_CODE (o60))
								    {
								    case SSA_NAME:
								      if (do_valueize (valueize, o60) != NULL_TREE)
								        {
								          gimple *def_stmt = SSA_NAME_DEF_STMT (o60);
									  if (gassign *def = dyn_cast <gassign *> (def_stmt))
									    switch (gimple_assign_rhs_code (def))
									      {
									      case BIT_AND_EXPR:
									        {
										  tree o70 = gimple_assign_rhs1 (def);
										  if ((o70 = do_valueize (valueize, o70)))
										    {
										      tree o71 = gimple_assign_rhs2 (def);
										      if ((o71 = do_valueize (valueize, o71)))
										        {
											  if (tree_swap_operands_p (o70, o71))
											    std::swap (o70, o71);
											  if (o70 == o30 || (operand_equal_p (o70, o30, 0) && types_match (o70, o30)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1, o60, o71 };
												if (gimple_simplify_156 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o30 || (operand_equal_p (o71, o30, 0) && types_match (o71, o30)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1, o60, o70 };
												if (gimple_simplify_156 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o31 || (operand_equal_p (o70, o31, 0) && types_match (o70, o31)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o31, o30, op1, o60, o71 };
												if (gimple_simplify_156 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o31 || (operand_equal_p (o71, o31, 0) && types_match (o71, o31)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o31, o30, op1, o60, o70 };
												if (gimple_simplify_156 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o30 || (operand_equal_p (o70, o30, 0) && types_match (o70, o30)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op1, o60, o30, o71, op0, o20, o31 };
												if (gimple_simplify_11 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o70 == o31 || (operand_equal_p (o70, o31, 0) && types_match (o70, o31)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op1, o60, o31, o71, op0, o20, o30 };
												if (gimple_simplify_11 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o30 || (operand_equal_p (o71, o30, 0) && types_match (o71, o30)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op1, o60, o30, o70, op0, o20, o31 };
												if (gimple_simplify_11 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
												  return true;
											      }
											    }
											  if (o71 == o31 || (operand_equal_p (o71, o31, 0) && types_match (o71, o31)))
											    {
											      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
												tree captures[7] ATTRIBUTE_UNUSED = { op1, o60, o31, o70, op0, o20, o30 };
												if (gimple_simplify_11 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
												  return true;
											      }
											    }
										        }
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							        }
							      break;
							    }
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1, op1, o61 };
									    if (gimple_simplify_65 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1, op1, o60 };
									    if (gimple_simplify_65 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o31 || (operand_equal_p (o60, o31, 0) && types_match (o60, o31)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o31, o30, op1, op1, o61 };
									    if (gimple_simplify_65 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o31 || (operand_equal_p (o61, o31, 0) && types_match (o61, o31)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, o20, o31, o30, op1, op1, o60 };
									    if (gimple_simplify_65 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o30, o61, op0, o20, o31 };
									    if (gimple_simplify_168 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o31 || (operand_equal_p (o60, o31, 0) && types_match (o60, o31)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o31, o61, op0, o20, o30 };
									    if (gimple_simplify_168 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o30 || (operand_equal_p (o61, o30, 0) && types_match (o61, o30)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o30, o60, op0, o20, o31 };
									    if (gimple_simplify_168 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o31 || (operand_equal_p (o61, o31, 0) && types_match (o61, o31)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o31, o60, op0, o20, o30 };
									    if (gimple_simplify_168 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_62 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			if (gimple_simplify_62 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      switch (TREE_CODE (o50))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o50) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o50);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  case BIT_AND_EXPR:
							    {
							      tree o60 = gimple_assign_rhs1 (def);
							      if ((o60 = do_valueize (valueize, o60)))
							        {
								  tree o61 = gimple_assign_rhs2 (def);
								  if ((o61 = do_valueize (valueize, o61)))
								    {
								      if (tree_swap_operands_p (o60, o61))
								        std::swap (o60, o61);
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, o50, o20, o61, op0, op0, o21 };
									    if (gimple_simplify_187 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, o50, o21, o61, op0, op0, o20 };
									    if (gimple_simplify_187 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o20 || (operand_equal_p (o61, o20, 0) && types_match (o61, o20)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, o50, o20, o60, op0, op0, o21 };
									    if (gimple_simplify_187 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o21 || (operand_equal_p (o61, o21, 0) && types_match (o61, o21)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op1, o50, o21, o60, op0, op0, o20 };
									    if (gimple_simplify_187 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o20 || (operand_equal_p (o60, o20, 0) && types_match (o60, o20)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1, o50, o61 };
									    if (gimple_simplify_87 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o20 || (operand_equal_p (o61, o20, 0) && types_match (o61, o20)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1, o50, o60 };
									    if (gimple_simplify_87 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o60 == o21 || (operand_equal_p (o60, o21, 0) && types_match (o60, o21)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o21, o20, op1, o50, o61 };
									    if (gimple_simplify_87 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								      if (o61 == o21 || (operand_equal_p (o61, o21, 0) && types_match (o61, o21)))
									{
									  {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									    tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o21, o20, op1, o50, o60 };
									    if (gimple_simplify_87 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      case BIT_AND_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1, op1, o51 };
							if (gimple_simplify_199 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1, op1, o50 };
							if (gimple_simplify_199 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o21, o20, op1, op1, o51 };
							if (gimple_simplify_199 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op0, op0, o21, o20, op1, op1, o50 };
							if (gimple_simplify_199 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o20, o51, op0, op0, o21 };
							if (gimple_simplify_106 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o21, o51, op0, op0, o20 };
							if (gimple_simplify_106 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o20, o50, op0, op0, o21 };
							if (gimple_simplify_106 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { op1, op1, o21, o50, op0, op0, o20 };
							if (gimple_simplify_106 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_212 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_212 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_212 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_212 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						{
						  {
/* #line 917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { o30, o21 };
						    if (gimple_simplify_132 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o21) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      if (op1 == o40 || (operand_equal_p (op1, o40, 0) && types_match (op1, o40)))
						{
						  {
/* #line 917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { o40, o20 };
						    if (gimple_simplify_132 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  switch (TREE_CODE (o30))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o30) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o40 = gimple_assign_rhs1 (def);
					  if ((o40 = do_valueize (valueize, o40)))
					    {
					      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
						{
						  {
/* #line 917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
						    if (gimple_simplify_132 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o31))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o31) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o31);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_NOT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      if (o50 == op0 || (operand_equal_p (o50, op0, 0) && types_match (o50, op0)))
						{
						  {
/* #line 917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
						    if (gimple_simplify_132 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (CONSTANT_CLASS_P (o21))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 922 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:922, %s:%d\n", __FILE__, __LINE__);
				    *res_code = BIT_IOR_EXPR;
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[0];
				      ops1[1] = captures[2];
				      code_helper tem_code = BIT_AND_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[0] = res;
				    }
				    {
				      tree ops1[2], res;
				      ops1[0] = captures[1];
				      ops1[1] = captures[2];
				      code_helper tem_code = BIT_AND_EXPR;
				      tree tem_ops[3] = { ops1[0], ops1[1] };
				      gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
				      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
				      if (!res) return false;
				      res_ops[1] = res;
				    }
				    gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (CONSTANT_CLASS_P (o21))
			    {
			      if (CONSTANT_CLASS_P (op1))
				{
				  {
/* #line 928 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				    if (gimple_simplify_134 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  tree op1_pops[1];
  if (gimple_logical_inverted_value (op1, op1_pops, valueize))
    {
      tree o30 = op1_pops[0];
      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
	{
	  {
/* #line 955 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	    if (gimple_simplify_165 (res_code, res_ops, seq, valueize, type, captures))
	      return true;
	  }
        }
}
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 1134 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_201 (res_code, res_ops, seq, valueize, type, captures))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
tree op0_pops[1];
if (gimple_logical_inverted_value (op0, op0_pops, valueize))
  {
    tree o20 = op0_pops[0];
    if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
      {
	{
/* #line 955 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { o20 };
	  if (gimple_simplify_165 (res_code, res_ops, seq, valueize, type, captures))
	    return true;
	}
      }
}
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 1134 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_201 (res_code, res_ops, seq, valueize, type, captures))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case LSHIFT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  switch (TREE_CODE (o31))
								    {
								    case INTEGER_CST:
								      {
									switch (TREE_CODE (op1))
									  {
									  case INTEGER_CST:
									    {
									      {
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o30, o40, o31, op1 };
										if (gimple_simplify_150 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
										  return true;
									      }
									      break;
									    }
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o30, o30, o31, op1 };
							    if (gimple_simplify_29 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case RSHIFT_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      switch (TREE_CODE (o30))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o30) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o40 = gimple_assign_rhs1 (def);
							      if ((o40 = do_valueize (valueize, o40)))
							        {
								  switch (TREE_CODE (o31))
								    {
								    case INTEGER_CST:
								      {
									switch (TREE_CODE (op1))
									  {
									  case INTEGER_CST:
									    {
									      {
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o30, o40, o31, op1 };
										if (gimple_simplify_150 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
										  return true;
									      }
									      break;
									    }
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o30, o30, o31, op1 };
							    if (gimple_simplify_29 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { op0, op0, o20, o30, o21, op1 };
							    if (gimple_simplify_120 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[6] ATTRIBUTE_UNUSED = { op0, op0, o20, o20, o21, op1 };
					if (gimple_simplify_228 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { op0, op0, o20, o30, o21, op1 };
							    if (gimple_simplify_120 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[6] ATTRIBUTE_UNUSED = { op0, op0, o20, o20, o21, op1 };
					if (gimple_simplify_228 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case ORDERED_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (o21 == o20 || (operand_equal_p (o21, o20, 0) && types_match (o21, o20)))
			    {
			      switch (TREE_CODE (op1))
			        {
				case SSA_NAME:
				  if (do_valueize (valueize, op1) != NULL_TREE)
				    {
				      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				      if (gassign *def = dyn_cast <gassign *> (def_stmt))
				        switch (gimple_assign_rhs_code (def))
					  {
					  case ORDERED_EXPR:
					    {
					      tree o50 = gimple_assign_rhs1 (def);
					      if ((o50 = do_valueize (valueize, o50)))
					        {
						  tree o51 = gimple_assign_rhs2 (def);
						  if ((o51 = do_valueize (valueize, o51)))
						    {
						      if (tree_swap_operands_p (o50, o51))
						        std::swap (o50, o51);
						      if (o51 == o50 || (operand_equal_p (o51, o50, 0) && types_match (o51, o50)))
							{
							  {
/* #line 2621 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o50 };
/* #line 2621 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    if (types_match (captures[0], captures[1]))
							      {
								gimple_seq *lseq = seq;
								if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2622, %s:%d\n", __FILE__, __LINE__);
								*res_code = ORDERED_EXPR;
								res_ops[0] = captures[0];
								res_ops[1] = captures[1];
								gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
								return true;
							      }
							  }
						        }
						      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							{
							  {
/* #line 2628 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o20, op1, o51 };
							    if (gimple_simplify_169 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
							{
							  {
/* #line 2628 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o20, op1, o50 };
							    if (gimple_simplify_169 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					      break;
					    }
					  default:;
					  }
				    }
				  break;
			        default:;
			        }
			    }
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case ORDERED_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
							{
							  {
/* #line 2628 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
							    if (gimple_simplify_137 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2628 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { o21, op0, o20 };
							    if (gimple_simplify_137 (res_code, res_ops, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case GE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case GT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
							      return true;
							  }
						        }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, MIN_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o20, op1, o51 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, MAX_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      case EQ_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case LT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, MIN_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o20, op1, o50 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, MAX_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case GT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case LE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, MIN_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o20, op1, o50 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, MAX_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      case GE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, MIN_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o20, op1, o51 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, MAX_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case EQ_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case GT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, GT_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case LT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case NE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case LT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case GE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, MAX_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o20, op1, o50 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, MIN_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      case LE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, MAX_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o20, op1, o51 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, MIN_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case LT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
							      return true;
							  }
						        }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o50 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, MAX_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o20, op1, o51 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, MIN_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      case LE_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case EQ_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
							{
							  {
/* #line 2644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
							    if (gimple_simplify_170 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, GT_EXPR))
							      return true;
							  }
						        }
						    }
					        }
					    }
				          break;
				        }
				      case GT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o21, op1, o51 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, MAX_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { op0, o21, o20, op1, o50 };
							if (gimple_simplify_152 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, MIN_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o21) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  switch (TREE_CODE (op1))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 3645 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o30, o21, o50, op1 };
									  if (gimple_simplify_136 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case SSA_NAME:
						  if (do_valueize (valueize, o21) != NULL_TREE)
						    {
						      gimple *def_stmt = SSA_NAME_DEF_STMT (o21);
						      if (gassign *def = dyn_cast <gassign *> (def_stmt))
						        switch (gimple_assign_rhs_code (def))
							  {
							  CASE_CONVERT:
							    {
							      tree o50 = gimple_assign_rhs1 (def);
							      if ((o50 = do_valueize (valueize, o50)))
							        {
								  switch (TREE_CODE (op1))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 3645 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[6] ATTRIBUTE_UNUSED = { op0, o20, o30, o21, o50, op1 };
									  if (gimple_simplify_136 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_LT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_30 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case MULT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o51 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o50 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o51 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1485 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_227 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, LT_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1485 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_227 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, LT_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2267 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_226 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (integer_zerop (op1))
				  {
				    {
/* #line 2326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
				      if (gimple_simplify_151 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_35 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_125 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			  if (gimple_simplify_220 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
					    if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 2416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_97 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, LT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, LT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_211 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 2603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_18 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_173 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, op1 };
			if (gimple_simplify_223 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		      switch (TREE_CODE (o20))
		        {
			case ADDR_EXPR:
			  {
			    switch (TREE_CODE (op1))
			      {
			      case SSA_NAME:
			        if (do_valueize (valueize, op1) != NULL_TREE)
			          {
			            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				    if (gassign *def = dyn_cast <gassign *> (def_stmt))
				      switch (gimple_assign_rhs_code (def))
					{
					CASE_CONVERT:
					  {
					    tree o40 = gimple_assign_rhs1 (def);
					    if ((o40 = do_valueize (valueize, o40)))
					      {
						switch (TREE_CODE (o40))
						  {
						  case ADDR_EXPR:
						    {
						      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
							if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
				    if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			      if (gimple_simplify_85 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, LT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, LT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, LT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_SQRT, LT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    if (do_valueize (valueize, op1) != NULL_TREE)
	      {
	        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
		if (gassign *def = dyn_cast <gassign *> (def_stmt))
		  switch (gimple_assign_rhs_code (def))
		    {
		    CASE_CONVERT:
		      {
			tree o30 = gimple_assign_rhs1 (def);
			if ((o30 = do_valueize (valueize, o30)))
			  {
			    switch (TREE_CODE (o30))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o30 };
				    if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
		if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
	  if (gimple_simplify_188 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				      if (gimple_simplify_108 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op1, op0, o31 };
				      if (gimple_simplify_108 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
				        return true;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 3051 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op1, op0, o31 };
				if (gimple_simplify_55 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case REALPART_EXPR:
	        {
		  tree o30 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o30) == SSA_NAME
		       || is_gimple_min_invariant (o30))
		      && (o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_SUB_OVERFLOW:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_call_arg (def, 1);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
						{
						  {
/* #line 3063 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, op0, o41 };
						    if (gimple_simplify_175 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case REALPART_EXPR:
	        {
		  tree o20 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o20) == SSA_NAME
		       || is_gimple_min_invariant (o20))
		      && (o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_ADD_OVERFLOW:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_call_arg (def, 1);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						{
						  {
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o30, o31 };
						    if (gimple_simplify_128 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
						      return true;
						  }
					        }
					      if (op1 == o31 || (operand_equal_p (op1, o31, 0) && types_match (op1, o31)))
						{
						  {
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o31, o30 };
						    if (gimple_simplify_128 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_all_onesp (o20))
			    {
			      {
/* #line 3081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o21, op1 };
				if (gimple_simplify_115 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_193 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, LT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_193 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, LT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_GE_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_30 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case MULT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o51 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o50 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o51 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1485 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_227 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, GE_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1485 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_227 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, GE_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2267 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_226 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (integer_zerop (op1))
				  {
				    {
/* #line 2326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
				      if (gimple_simplify_151 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_122 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_125 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			  if (gimple_simplify_220 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
					    if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 2416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_97 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, GE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, GE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_211 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 2603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_18 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_173 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, op1 };
			if (gimple_simplify_223 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		      switch (TREE_CODE (o20))
		        {
			case ADDR_EXPR:
			  {
			    switch (TREE_CODE (op1))
			      {
			      case SSA_NAME:
			        if (do_valueize (valueize, op1) != NULL_TREE)
			          {
			            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				    if (gassign *def = dyn_cast <gassign *> (def_stmt))
				      switch (gimple_assign_rhs_code (def))
					{
					CASE_CONVERT:
					  {
					    tree o40 = gimple_assign_rhs1 (def);
					    if ((o40 = do_valueize (valueize, o40)))
					      {
						switch (TREE_CODE (o40))
						  {
						  case ADDR_EXPR:
						    {
						      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
							if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
				    if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			      if (gimple_simplify_85 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, GE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, GE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, GE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_SQRT, GE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    if (do_valueize (valueize, op1) != NULL_TREE)
	      {
	        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
		if (gassign *def = dyn_cast <gassign *> (def_stmt))
		  switch (gimple_assign_rhs_code (def))
		    {
		    CASE_CONVERT:
		      {
			tree o30 = gimple_assign_rhs1 (def);
			if ((o30 = do_valueize (valueize, o30)))
			  {
			    switch (TREE_CODE (o30))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o30 };
				    if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
		if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
	  if (gimple_simplify_188 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				      if (gimple_simplify_108 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op1, op0, o31 };
				      if (gimple_simplify_108 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
				        return true;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 3051 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op1, op0, o31 };
				if (gimple_simplify_55 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case REALPART_EXPR:
	        {
		  tree o30 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o30) == SSA_NAME
		       || is_gimple_min_invariant (o30))
		      && (o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_SUB_OVERFLOW:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_call_arg (def, 1);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
						{
						  {
/* #line 3063 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, op0, o41 };
						    if (gimple_simplify_175 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case REALPART_EXPR:
	        {
		  tree o20 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o20) == SSA_NAME
		       || is_gimple_min_invariant (o20))
		      && (o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_ADD_OVERFLOW:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_call_arg (def, 1);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						{
						  {
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o30, o31 };
						    if (gimple_simplify_128 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
						      return true;
						  }
					        }
					      if (op1 == o31 || (operand_equal_p (op1, o31, 0) && types_match (op1, o31)))
						{
						  {
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o31, o30 };
						    if (gimple_simplify_128 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_all_onesp (o20))
			    {
			      {
/* #line 3081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o21, op1 };
				if (gimple_simplify_115 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_193 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_193 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, GE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_GT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_96 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case MULT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o51 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o50 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o51 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1485 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_227 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, GT_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1485 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_227 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, GT_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2261 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_163 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (integer_zerop (op1))
				  {
				    {
/* #line 2326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
				      if (gimple_simplify_151 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_35 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_125 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			  if (gimple_simplify_220 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
					    if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 2416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_97 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, GT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, GT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_211 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 2603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_18 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_173 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, op1 };
			if (gimple_simplify_223 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		      switch (TREE_CODE (o20))
		        {
			case ADDR_EXPR:
			  {
			    switch (TREE_CODE (op1))
			      {
			      case SSA_NAME:
			        if (do_valueize (valueize, op1) != NULL_TREE)
			          {
			            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				    if (gassign *def = dyn_cast <gassign *> (def_stmt))
				      switch (gimple_assign_rhs_code (def))
					{
					CASE_CONVERT:
					  {
					    tree o40 = gimple_assign_rhs1 (def);
					    if ((o40 = do_valueize (valueize, o40)))
					      {
						switch (TREE_CODE (o40))
						  {
						  case ADDR_EXPR:
						    {
						      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
							if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
				    if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			      if (gimple_simplify_85 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, GT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, GT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, GT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_SQRT, GT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    if (do_valueize (valueize, op1) != NULL_TREE)
	      {
	        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
		if (gassign *def = dyn_cast <gassign *> (def_stmt))
		  switch (gimple_assign_rhs_code (def))
		    {
		    CASE_CONVERT:
		      {
			tree o30 = gimple_assign_rhs1 (def);
			if ((o30 = do_valueize (valueize, o30)))
			  {
			    switch (TREE_CODE (o30))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o30 };
				    if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
		if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
	  if (gimple_simplify_188 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				      if (gimple_simplify_108 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op1, op0, o31 };
				      if (gimple_simplify_108 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
				        return true;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 3051 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_55 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case REALPART_EXPR:
	        {
		  tree o20 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o20) == SSA_NAME
		       || is_gimple_min_invariant (o20))
		      && (o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_SUB_OVERFLOW:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_call_arg (def, 1);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						{
						  {
/* #line 3063 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o30, o31 };
						    if (gimple_simplify_221 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case REALPART_EXPR:
	        {
		  tree o30 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o30) == SSA_NAME
		       || is_gimple_min_invariant (o30))
		      && (o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_ADD_OVERFLOW:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_call_arg (def, 1);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
						{
						  {
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, op0, o41 };
						    if (gimple_simplify_39 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
						      return true;
						  }
					        }
					      if (o41 == op0 || (operand_equal_p (o41, op0, 0) && types_match (o41, op0)))
						{
						  {
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, op0, o40 };
						    if (gimple_simplify_39 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (integer_all_onesp (o30))
			    {
			      {
/* #line 3081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op1, o31, op0 };
				if (gimple_simplify_21 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_193 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, GT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_193 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, GT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_LE_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_96 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case MULT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o51 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o50 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 1031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o51 };
							if (gimple_simplify_114 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1485 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_227 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, LE_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1485 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_227 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, LE_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2261 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_163 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (integer_zerop (op1))
				  {
				    {
/* #line 2326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
				      if (gimple_simplify_151 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_122 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_125 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			  if (gimple_simplify_220 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
					    if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 2416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_97 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, LE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, LE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_211 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 2603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_18 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_173 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, op1 };
			if (gimple_simplify_223 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		      switch (TREE_CODE (o20))
		        {
			case ADDR_EXPR:
			  {
			    switch (TREE_CODE (op1))
			      {
			      case SSA_NAME:
			        if (do_valueize (valueize, op1) != NULL_TREE)
			          {
			            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				    if (gassign *def = dyn_cast <gassign *> (def_stmt))
				      switch (gimple_assign_rhs_code (def))
					{
					CASE_CONVERT:
					  {
					    tree o40 = gimple_assign_rhs1 (def);
					    if ((o40 = do_valueize (valueize, o40)))
					      {
						switch (TREE_CODE (o40))
						  {
						  case ADDR_EXPR:
						    {
						      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
							if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
				    if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			      if (gimple_simplify_85 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, LE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, LE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, LE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_SQRT, LE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    if (do_valueize (valueize, op1) != NULL_TREE)
	      {
	        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
		if (gassign *def = dyn_cast <gassign *> (def_stmt))
		  switch (gimple_assign_rhs_code (def))
		    {
		    CASE_CONVERT:
		      {
			tree o30 = gimple_assign_rhs1 (def);
			if ((o30 = do_valueize (valueize, o30)))
			  {
			    switch (TREE_CODE (o30))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o30 };
				    if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
		if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
	  if (gimple_simplify_188 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				      if (gimple_simplify_108 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 3038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op1, op0, o31 };
				      if (gimple_simplify_108 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
				        return true;
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 3051 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_55 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case REALPART_EXPR:
	        {
		  tree o20 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o20) == SSA_NAME
		       || is_gimple_min_invariant (o20))
		      && (o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_SUB_OVERFLOW:
				    {
				      tree o30 = gimple_call_arg (def, 0);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_call_arg (def, 1);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						{
						  {
/* #line 3063 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o20, o30, o31 };
						    if (gimple_simplify_221 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case REALPART_EXPR:
	        {
		  tree o30 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o30) == SSA_NAME
		       || is_gimple_min_invariant (o30))
		      && (o30 = do_valueize (valueize, o30)))
		    {
		      switch (TREE_CODE (o30))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o30) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o30);
			      if (gcall *def = dyn_cast <gcall *> (def_stmt))
			        switch (gimple_call_combined_fn (def))
				  {
				  case CFN_ADD_OVERFLOW:
				    {
				      tree o40 = gimple_call_arg (def, 0);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  tree o41 = gimple_call_arg (def, 1);
					  if ((o41 = do_valueize (valueize, o41)))
					    {
					      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
						{
						  {
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, op0, o41 };
						    if (gimple_simplify_39 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
						      return true;
						  }
					        }
					      if (o41 == op0 || (operand_equal_p (o41, op0, 0) && types_match (o41, op0)))
						{
						  {
/* #line 3071 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { o30, op0, o40 };
						    if (gimple_simplify_39 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (integer_all_onesp (o30))
			    {
			      {
/* #line 3081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op1, o31, op0 };
				if (gimple_simplify_21 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_193 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, LE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3714 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_193 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, LE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_EQ_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case MULT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							if (gimple_simplify_214 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o51 };
							if (gimple_simplify_214 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o50 };
							if (gimple_simplify_214 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o51 };
							if (gimple_simplify_214 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, EQ_EXPR, LE_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, EQ_EXPR, LE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, EQ_EXPR, GE_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, EQ_EXPR, GE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
tree op0_pops[1];
if (gimple_logical_inverted_value (op0, op0_pops, valueize))
  {
    tree o20 = op0_pops[0];
    if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
      {
	if (gimple_truth_valued_p (op1, valueize))
	  {
	    {
/* #line 965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { o20 };
	      if (gimple_simplify_69 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
	        return true;
	    }
	  }
      }
}
if (gimple_truth_valued_p (op0, valueize))
  {
    tree op1_pops[1];
    if (gimple_logical_inverted_value (op1, op1_pops, valueize))
      {
	tree o30 = op1_pops[0];
	if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
	  {
	    {
/* #line 965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	      if (gimple_simplify_69 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
	        return true;
	    }
	  }
}
  }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MIN_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, EQ_EXPR, LE_EXPR))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, EQ_EXPR, LE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, EQ_EXPR, GE_EXPR))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, EQ_EXPR, GE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1468 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_195 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_75 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case LSHIFT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      tree o31 = gimple_assign_rhs2 (def);
					      if ((o31 = do_valueize (valueize, o31)))
					        {
						  if (integer_onep (o30))
						    {
						      if (integer_onep (o21))
							{
							  if (integer_zerop (op1))
							    {
							      {
/* #line 1581 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[1] ATTRIBUTE_UNUSED = { o31 };
								if (gimple_simplify_22 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
								  return true;
							      }
							    }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1589 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_117 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_zerop (op1))
			    {
			      {
/* #line 2314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_215 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (integer_zerop (op1))
				  {
				    {
/* #line 2326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
				      if (gimple_simplify_151 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_122 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_125 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			  if (gimple_simplify_220 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
					    if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 2416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_97 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_211 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				  if (gimple_simplify_37 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (zerop (op1))
			{
			  {
/* #line 2670 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			    if (gimple_simplify_58 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_173 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, op1 };
			if (gimple_simplify_223 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 2753 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { op0, o30, o31, op1 };
							    if (gimple_simplify_138 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 2753 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_138 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_zerop (op1))
			    {
			      {
/* #line 2760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_102 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 2766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_103 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 2766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_103 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, EQ_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_SQRT, EQ_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    {
	      {
/* #line 2737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
		if (gimple_simplify_135 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 2766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_103 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 2766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_103 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_XOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 2771 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { op0, o30, o31, op1 };
							    if (gimple_simplify_81 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
			case ADDR_EXPR:
			  {
			    switch (TREE_CODE (op1))
			      {
			      case SSA_NAME:
			        if (do_valueize (valueize, op1) != NULL_TREE)
			          {
			            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				    if (gassign *def = dyn_cast <gassign *> (def_stmt))
				      switch (gimple_assign_rhs_code (def))
					{
					CASE_CONVERT:
					  {
					    tree o40 = gimple_assign_rhs1 (def);
					    if ((o40 = do_valueize (valueize, o40)))
					      {
						switch (TREE_CODE (o40))
						  {
						  case ADDR_EXPR:
						    {
						      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
							if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
				    if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  if (integer_zerop (op1))
			    {
			      {
/* #line 2776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[1] ATTRIBUTE_UNUSED = { o20 };
				if (gimple_simplify_20 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 2771 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_81 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_pow2p (o21))
			    {
			      if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
				{
				  {
/* #line 2785 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				    if (gimple_simplify_110 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
				      return true;
				  }
			        }
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      if (integer_pow2p (o21))
						{
						  if (integer_zerop (op1))
						    {
						      {
/* #line 2808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o30, o21 };
							if (gimple_simplify_218 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, GE_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (integer_pow2p (o21))
			    {
			      if (integer_zerop (op1))
				{
				  {
/* #line 2808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o20, o21 };
				    if (gimple_simplify_24 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR, GE_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    if (do_valueize (valueize, op1) != NULL_TREE)
	      {
	        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
		if (gassign *def = dyn_cast <gassign *> (def_stmt))
		  switch (gimple_assign_rhs_code (def))
		    {
		    CASE_CONVERT:
		      {
			tree o30 = gimple_assign_rhs1 (def);
			if ((o30 = do_valueize (valueize, o30)))
			  {
			    switch (TREE_CODE (o30))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o30 };
				    if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
		if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
      if (integer_zerop (op1))
	{
	  {
/* #line 2776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	    if (gimple_simplify_20 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
	      return true;
	  }
        }
        break;
      }
    default:;
    }
  {
/* #line 2916 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_182 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_147 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_onep (op1))
    {
      {
/* #line 3019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3021, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] = captures[0];
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_205 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_205 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, EQ_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_NE_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (op1))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, op1) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case MULT_EXPR:
				        {
					  tree o50 = gimple_assign_rhs1 (def);
					  if ((o50 = do_valueize (valueize, o50)))
					    {
					      tree o51 = gimple_assign_rhs2 (def);
					      if ((o51 = do_valueize (valueize, o51)))
					        {
						  if (tree_swap_operands_p (o50, o51))
						    std::swap (o50, o51);
						  if (o51 == o21 || (operand_equal_p (o51, o21, 0) && types_match (o51, o21)))
						    {
						      {
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o50 };
							if (gimple_simplify_214 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o21 || (operand_equal_p (o50, o21, 0) && types_match (o50, o21)))
						    {
						      {
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, o51 };
							if (gimple_simplify_214 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
						  if (o51 == o20 || (operand_equal_p (o51, o20, 0) && types_match (o51, o20)))
						    {
						      {
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o50 };
							if (gimple_simplify_214 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
						  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						    {
						      {
/* #line 1018 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o21, o20, o51 };
							if (gimple_simplify_214 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, NE_EXPR, GT_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, NE_EXPR, GT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, NE_EXPR, LT_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, NE_EXPR, LT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
tree op0_pops[1];
if (gimple_logical_inverted_value (op0, op0_pops, valueize))
  {
    tree o20 = op0_pops[0];
    if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
      {
	if (gimple_truth_valued_p (op1, valueize))
	  {
	    {
/* #line 965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { o20 };
	      if (gimple_simplify_69 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
	        return true;
	    }
	  }
      }
}
if (gimple_truth_valued_p (op0, valueize))
  {
    tree op1_pops[1];
    if (gimple_logical_inverted_value (op1, op1_pops, valueize))
      {
	tree o30 = op1_pops[0];
	if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
	  {
	    {
/* #line 965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	      if (gimple_simplify_69 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
	        return true;
	    }
	  }
}
  }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MIN_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, NE_EXPR, GT_EXPR))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, NE_EXPR, GT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, NE_EXPR, LT_EXPR))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 1461 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_111 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, NE_EXPR, LT_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1468 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_195 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_75 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case LSHIFT_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      tree o31 = gimple_assign_rhs2 (def);
					      if ((o31 = do_valueize (valueize, o31)))
					        {
						  if (integer_onep (o30))
						    {
						      if (integer_onep (o21))
							{
							  if (integer_zerop (op1))
							    {
							      {
/* #line 1581 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[1] ATTRIBUTE_UNUSED = { o31 };
								if (gimple_simplify_22 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
								  return true;
							      }
							    }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1589 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_117 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_zerop (op1))
			    {
			      {
/* #line 2314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				if (gimple_simplify_215 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (integer_zerop (op1))
				  {
				    {
/* #line 2326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
				      if (gimple_simplify_151 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
				        return true;
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_35 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_125 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			  if (gimple_simplify_220 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
					    if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
			if (gimple_simplify_127 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 2416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_97 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2473 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_209 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case REAL_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case REAL_CST:
				    {
				      {
/* #line 2489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_211 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (op1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
				  if (gimple_simplify_37 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (zerop (op1))
			{
			  {
/* #line 2670 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			    if (gimple_simplify_58 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_173 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      {
/* #line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, op1 };
			if (gimple_simplify_223 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 2753 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { op0, o30, o31, op1 };
							    if (gimple_simplify_138 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 2753 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_138 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_zerop (op1))
			    {
			      {
/* #line 2760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_102 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 2766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_103 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 2766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_103 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *def = dyn_cast <gcall *> (def_stmt))
	    switch (gimple_call_combined_fn (def))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, NE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, NE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_BUILT_IN_SQRTL:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, NE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case CFN_SQRT:
	        {
		  tree o20 = gimple_call_arg (def, 0);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case REAL_CST:
			  {
			    {
/* #line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_118 (res_code, res_ops, seq, valueize, type, captures, CFN_SQRT, NE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    {
	      {
/* #line 2737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
		if (gimple_simplify_135 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 2766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o31 };
				if (gimple_simplify_103 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 2766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { op0, o30 };
				if (gimple_simplify_103 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_XOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 2771 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { op0, o30, o31, op1 };
							    if (gimple_simplify_81 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
			case ADDR_EXPR:
			  {
			    switch (TREE_CODE (op1))
			      {
			      case SSA_NAME:
			        if (do_valueize (valueize, op1) != NULL_TREE)
			          {
			            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
				    if (gassign *def = dyn_cast <gassign *> (def_stmt))
				      switch (gimple_assign_rhs_code (def))
					{
					CASE_CONVERT:
					  {
					    tree o40 = gimple_assign_rhs1 (def);
					    if ((o40 = do_valueize (valueize, o40)))
					      {
						switch (TREE_CODE (o40))
						  {
						  case ADDR_EXPR:
						    {
						      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o40 };
							if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, op1 };
				    if (gimple_simplify_68 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  if (integer_zerop (op1))
			    {
			      {
/* #line 2776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[1] ATTRIBUTE_UNUSED = { o20 };
				if (gimple_simplify_20 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 2771 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_81 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (integer_pow2p (o21))
			    {
			      if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
				{
				  {
/* #line 2785 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, o20, o21 };
				    if (gimple_simplify_110 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
				      return true;
				  }
			        }
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      if (integer_pow2p (o21))
						{
						  if (integer_zerop (op1))
						    {
						      {
/* #line 2808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { o20, o30, o21 };
							if (gimple_simplify_218 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, LT_EXPR))
							  return true;
						      }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if (integer_pow2p (o21))
			    {
			      if (integer_zerop (op1))
				{
				  {
/* #line 2808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { o20, o20, o21 };
				    if (gimple_simplify_24 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR, LT_EXPR))
				      return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (op1))
	  {
	  case SSA_NAME:
	    if (do_valueize (valueize, op1) != NULL_TREE)
	      {
	        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
		if (gassign *def = dyn_cast <gassign *> (def_stmt))
		  switch (gimple_assign_rhs_code (def))
		    {
		    CASE_CONVERT:
		      {
			tree o30 = gimple_assign_rhs1 (def);
			if ((o30 = do_valueize (valueize, o30)))
			  {
			    switch (TREE_CODE (o30))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, o30 };
				    if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 2841 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { op0, op0, op1 };
		if (gimple_simplify_181 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
      if (integer_zerop (op1))
	{
	  {
/* #line 2776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	    if (gimple_simplify_20 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
	      return true;
	  }
        }
        break;
      }
    default:;
    }
  {
/* #line 2916 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_182 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_147 (res_code, res_ops, seq, valueize, type, captures, NE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 3013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3015, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] = captures[0];
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_205 (res_code, res_ops, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 3699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, o21, op1 };
					if (gimple_simplify_205 (res_code, res_ops, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, NE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_MIN_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MAX_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 1347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_63 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 1347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_63 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MAX_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 1347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o30, op0 };
				if (gimple_simplify_63 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 1347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o31, op0 };
				if (gimple_simplify_63 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 1362 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_48 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 1362 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_48 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 1369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 1369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (INTEGRAL_TYPE_P (type) && TYPE_MIN_VALUE (type) && operand_equal_p (captures[1], TYPE_MIN_VALUE (type), OEP_ONLY_CONST))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1372, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[1];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    else
      {
/* #line 1373 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (INTEGRAL_TYPE_P (type) && TYPE_MAX_VALUE (type) && operand_equal_p (captures[1], TYPE_MAX_VALUE (type), OEP_ONLY_CONST))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1376, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] = captures[0];
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
  }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 1402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o31 };
/* #line 1402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0])))
					{
/* #line 1403 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					  if (tree_int_cst_sgn (captures[2]) > 0)
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1404, %s:%d\n", __FILE__, __LINE__);
					      res_ops[0] = captures[0];
					      *res_code = TREE_CODE (res_ops[0]);
					      return true;
					    }
					  else
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1405, %s:%d\n", __FILE__, __LINE__);
					      res_ops[0] = captures[1];
					      *res_code = TREE_CODE (res_ops[0]);
					      return true;
					    }
					}
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 1402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
/* #line 1402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0])))
					{
/* #line 1403 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					  if (tree_int_cst_sgn (captures[2]) > 0)
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1404, %s:%d\n", __FILE__, __LINE__);
					      res_ops[0] = captures[0];
					      *res_code = TREE_CODE (res_ops[0]);
					      return true;
					    }
					  else
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1405, %s:%d\n", __FILE__, __LINE__);
					      res_ops[0] = captures[1];
					      *res_code = TREE_CODE (res_ops[0]);
					      return true;
					    }
					}
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MAX_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1453 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_217 (res_code, res_ops, seq, valueize, type, captures, MIN_EXPR, MAX_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_MAX_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MIN_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
			    {
			      {
/* #line 1351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
				if (gimple_simplify_19 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			    {
			      {
/* #line 1351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o21, o20 };
				if (gimple_simplify_19 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case MIN_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o31 == op0 || (operand_equal_p (o31, op0, 0) && types_match (o31, op0)))
			    {
			      {
/* #line 1351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o30, op0 };
				if (gimple_simplify_19 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      {
/* #line 1351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { o31, op0 };
				if (gimple_simplify_19 (res_code, res_ops, seq, valueize, type, captures))
				  return true;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			{
			  {
/* #line 1355 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { op0 };
			    if (gimple_simplify_183 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  {
/* #line 1355 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { o20 };
			    if (gimple_simplify_183 (res_code, res_ops, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 1380 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 1380 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (INTEGRAL_TYPE_P (type) && TYPE_MAX_VALUE (type) && operand_equal_p (captures[1], TYPE_MAX_VALUE (type), OEP_ONLY_CONST))
      {
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1383, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[1];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    else
      {
/* #line 1384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (INTEGRAL_TYPE_P (type) && TYPE_MIN_VALUE (type) && operand_equal_p (captures[1], TYPE_MIN_VALUE (type), OEP_ONLY_CONST))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1387, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] = captures[0];
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
  }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  if (tree_swap_operands_p (o30, o31))
			    std::swap (o30, o31);
			  if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
			    {
			      switch (TREE_CODE (o31))
			        {
				case INTEGER_CST:
				  {
				    {
/* #line 1393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, o31 };
/* #line 1393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0])))
					{
/* #line 1394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					  if (tree_int_cst_sgn (captures[2]) > 0)
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1395, %s:%d\n", __FILE__, __LINE__);
					      res_ops[0] = captures[1];
					      *res_code = TREE_CODE (res_ops[0]);
					      return true;
					    }
					  else
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1396, %s:%d\n", __FILE__, __LINE__);
					      res_ops[0] = captures[0];
					      *res_code = TREE_CODE (res_ops[0]);
					      return true;
					    }
					}
				    }
				    break;
				  }
			        default:;
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case PLUS_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    {
/* #line 1393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { o20, op0, o21 };
/* #line 1393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0])))
					{
/* #line 1394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					  if (tree_int_cst_sgn (captures[2]) > 0)
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1395, %s:%d\n", __FILE__, __LINE__);
					      res_ops[0] = captures[1];
					      *res_code = TREE_CODE (res_ops[0]);
					      return true;
					    }
					  else
					    {
					      gimple_seq *lseq = seq;
					      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1396, %s:%d\n", __FILE__, __LINE__);
					      res_ops[0] = captures[0];
					      *res_code = TREE_CODE (res_ops[0]);
					      return true;
					    }
					}
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = MIN_EXPR;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1453 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
					    if (gimple_simplify_217 (res_code, res_ops, seq, valueize, type, captures, MAX_EXPR, MIN_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_141 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = CFN_BUILT_IN_FMAXF;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMIN (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_141 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = CFN_BUILT_IN_FMAX;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_141 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = CFN_BUILT_IN_FMAXL;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_FMIN (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_141 (res_code, res_ops, seq, valueize, type, captures, CFN_FMIN))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = CFN_FMAX;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_186 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = CFN_BUILT_IN_FMINF;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAX (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_186 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = CFN_BUILT_IN_FMIN;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_186 (res_code, res_ops, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = CFN_BUILT_IN_FMINL;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_FMAX (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 1343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_225 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 1423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op1, op0 };
	  if (gimple_simplify_1 (res_code, res_ops, seq, valueize, type, captures, CFN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
    if (gimple_simplify_186 (res_code, res_ops, seq, valueize, type, captures, CFN_FMAX))
      return true;
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { op0, o20, op1, o40 };
/* #line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (FLOAT_TYPE_P (TREE_TYPE (captures[1])) || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))))
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1446, %s:%d\n", __FILE__, __LINE__);
						*res_code = NEGATE_EXPR;
						{
						  tree ops1[2], res;
						  ops1[0] = captures[1];
						  ops1[1] = captures[3];
						  code_helper tem_code = CFN_FMIN;
						  tree tem_ops[3] = { ops1[0], ops1[1] };
						  gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
						  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
						  if (!res) return false;
						  res_ops[0] = res;
						}
						gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
						return true;
					      }
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_LROTATE_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_all_onesp (op0))
    {
      {
/* #line 1492 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_95 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 1518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_6 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 1521 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_42 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
		    if (gimple_simplify_53 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_146 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
	    return true;
	}
        break;
      }
    case INTEGER_CST:
      {
	{
/* #line 1550 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1550, %s:%d\n", __FILE__, __LINE__);
	  *res_code = RROTATE_EXPR;
	  res_ops[0] = captures[0];
	  res_ops[1] =  const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), build_int_cst (TREE_TYPE (captures[1]), element_precision (type)), captures[1]);
	  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case LROTATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1558 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_133 (res_code, res_ops, seq, valueize, type, captures, LROTATE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_RROTATE_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (integer_all_onesp (op0))
    {
      {
/* #line 1492 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_95 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 1518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_6 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 1521 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_42 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
		    if (gimple_simplify_53 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_146 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case RROTATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1558 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_133 (res_code, res_ops, seq, valueize, type, captures, RROTATE_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_RSHIFT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
				  {
				    {
/* #line 1511 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 1511 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (TYPE_UNSIGNED (type) && (wi::ltu_p (captures[1], element_precision (type))))
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1513, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  res_ops[0] = captures[0];
					  {
					    tree ops1[2], res;
					    ops1[0] =  build_minus_one_cst (type);
					    ops1[1] = captures[1];
					    code_helper tem_code = RSHIFT_EXPR;
					    tree tem_ops[3] = { ops1[0], ops1[1] };
					    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					    if (!res) return false;
					    res_ops[1] = res;
					  }
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_all_onesp (op0))
  {
    {
/* #line 1497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 1497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
      if (!TYPE_UNSIGNED (type) && tree_expr_nonnegative_p (captures[1]))
	{
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1499, %s:%d\n", __FILE__, __LINE__);
	  res_ops[0] = captures[0];
	  *res_code = TREE_CODE (res_ops[0]);
	  return true;
	}
    }
  }
  if (integer_zerop (op1))
    {
      {
/* #line 1518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_6 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 1521 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_42 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
		    if (gimple_simplify_53 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
	{
	  {
/* #line 1537 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	    if (gimple_simplify_43 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
	      return true;
	  }
	}
      break;
    case VECTOR_CST:
      {
	{
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_146 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case RSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1558 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_133 (res_code, res_ops, seq, valueize, type, captures, RSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1 };
							    if (gimple_simplify_5 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, RSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case BIT_XOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1 };
							    if (gimple_simplify_5 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, RSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1 };
							    if (gimple_simplify_5 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, RSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1 };
					if (gimple_simplify_47 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, RSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1 };
					if (gimple_simplify_47 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, RSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1 };
					if (gimple_simplify_47 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, RSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_LSHIFT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case RSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				if (op1 == o21 || (operand_equal_p (op1, o21, 0) && types_match (op1, o21)))
				  {
				    {
/* #line 1504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { o20, o21 };
/* #line 1504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				      if (wi::ltu_p (captures[1], element_precision (type)))
					{
					  gimple_seq *lseq = seq;
					  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1505, %s:%d\n", __FILE__, __LINE__);
					  *res_code = BIT_AND_EXPR;
					  res_ops[0] = captures[0];
					  {
					    tree ops1[2], res;
					    ops1[0] =  build_minus_one_cst (type);
					    ops1[1] = captures[1];
					    code_helper tem_code = LSHIFT_EXPR;
					    tree tem_ops[3] = { ops1[0], ops1[1] };
					    gimple_resimplify2 (lseq, &tem_code, TREE_TYPE (ops1[0]), tem_ops, valueize);
					    res = maybe_push_res_to_seq (tem_code, TREE_TYPE (ops1[0]), tem_ops, lseq);
					    if (!res) return false;
					    res_ops[1] = res;
					  }
					  gimple_resimplify2 (lseq, res_code, type, res_ops, valueize);
					  return true;
					}
				    }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (op1))
    {
      {
/* #line 1518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_6 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
	  return true;
      }
    }
  if (integer_zerop (op0))
    {
      {
/* #line 1521 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_42 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
		    if (gimple_simplify_53 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
	{
	  {
/* #line 1537 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	    if (gimple_simplify_43 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
	      return true;
	  }
	}
      break;
    case VECTOR_CST:
      {
	{
/* #line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_146 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1558 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op1 };
					if (gimple_simplify_133 (res_code, res_ops, seq, valueize, type, captures, LSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (o20))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, o20) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1 };
							    if (gimple_simplify_5 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, LSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case BIT_XOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1 };
							    if (gimple_simplify_5 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, LSHIFT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  case BIT_IOR_EXPR:
				    {
				      tree o30 = gimple_assign_rhs1 (def);
				      if ((o30 = do_valueize (valueize, o30)))
				        {
					  tree o31 = gimple_assign_rhs2 (def);
					  if ((o31 = do_valueize (valueize, o31)))
					    {
					      if (tree_swap_operands_p (o30, o31))
					        std::swap (o30, o31);
					      switch (TREE_CODE (o31))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case INTEGER_CST:
						        {
							  {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { op0, o20, o30, o31, op1 };
							    if (gimple_simplify_5 (res_code, res_ops, 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 o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1 };
					if (gimple_simplify_47 (res_code, res_ops, seq, valueize, type, captures, BIT_AND_EXPR, LSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1 };
					if (gimple_simplify_47 (res_code, res_ops, seq, valueize, type, captures, BIT_XOR_EXPR, LSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case INTEGER_CST:
				    {
				      {
/* #line 1694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { op0, op0, o20, o21, op1 };
					if (gimple_simplify_47 (res_code, res_ops, seq, valueize, type, captures, BIT_IOR_EXPR, LSHIFT_EXPR))
					  return true;
				      }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_COMPLEX_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case REALPART_EXPR:
	        {
		  tree o20 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
		  if ((TREE_CODE (o20) == SSA_NAME
		       || is_gimple_min_invariant (o20))
		      && (o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case IMAGPART_EXPR:
				    {
				      tree o40 = TREE_OPERAND (gimple_assign_rhs1 (def), 0);
				      if ((TREE_CODE (o40) == SSA_NAME
				           || is_gimple_min_invariant (o40))
				          && (o40 = do_valueize (valueize, o40)))
				        {
					  if (o40 == o20 || (operand_equal_p (o40, o20, 0) && types_match (o40, o20)))
					    {
					      {
/* #line 1932 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { o20 };
						gimple_seq *lseq = seq;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:1932, %s:%d\n", __FILE__, __LINE__);
						res_ops[0] = captures[0];
						*res_code = TREE_CODE (res_ops[0]);
						return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNLE_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2356 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_155 (res_code, res_ops, seq, valueize, type, captures, UNLE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, UNLE_EXPR, UNGE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, UNLE_EXPR, UNGE_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_200 (res_code, res_ops, seq, valueize, type, captures, UNLE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNGE_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2356 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_155 (res_code, res_ops, seq, valueize, type, captures, UNGE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, UNGE_EXPR, UNLE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, UNGE_EXPR, UNLE_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_200 (res_code, res_ops, seq, valueize, type, captures, UNGE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNEQ_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2356 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_155 (res_code, res_ops, seq, valueize, type, captures, UNEQ_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, UNEQ_EXPR, UNEQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, UNEQ_EXPR, UNEQ_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_200 (res_code, res_ops, seq, valueize, type, captures, UNEQ_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNLT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2360 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_202 (res_code, res_ops, seq, valueize, type, captures, UNLT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, UNLT_EXPR, UNGT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, UNLT_EXPR, UNGT_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_200 (res_code, res_ops, seq, valueize, type, captures, UNLT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNGT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2360 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
	if (gimple_simplify_202 (res_code, res_ops, seq, valueize, type, captures, UNGT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, UNGT_EXPR, UNLT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, UNGT_EXPR, UNLT_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_200 (res_code, res_ops, seq, valueize, type, captures, UNGT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_LTGT_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (op1 == op0 || (operand_equal_p (op1, op0, 0) && types_match (op1, op0)))
    {
      {
/* #line 2363 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { op0 };
/* #line 2363 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (!flag_trapping_math)
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2364, %s:%d\n", __FILE__, __LINE__);
	    res_ops[0] =  constant_boolean_node (false, type);
	    *res_code = TREE_CODE (res_ops[0]);
	    return true;
	  }
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, LTGT_EXPR, LTGT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, LTGT_EXPR, LTGT_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_200 (res_code, res_ops, seq, valueize, type, captures, LTGT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNORDERED_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, UNORDERED_EXPR, UNORDERED_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, UNORDERED_EXPR, UNORDERED_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_200 (res_code, res_ops, seq, valueize, type, captures, UNORDERED_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_ORDERED_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NEGATE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case NEGATE_EXPR:
				    {
				      tree o40 = gimple_assign_rhs1 (def);
				      if ((o40 = do_valueize (valueize, o40)))
				        {
					  {
/* #line 2653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { o20, o40 };
					    if (gimple_simplify_59 (res_code, res_ops, seq, valueize, type, captures, ORDERED_EXPR, ORDERED_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    if (CONSTANT_CLASS_P (op1))
		      {
			{
/* #line 2659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			  if (gimple_simplify_109 (res_code, res_ops, seq, valueize, type, captures, ORDERED_EXPR, ORDERED_EXPR))
			    return true;
			}
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case REAL_CST:
      {
	{
/* #line 3005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	  if (gimple_simplify_200 (res_code, res_ops, seq, valueize, type, captures, ORDERED_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LDEXPF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LDEXP (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LDEXPL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_LDEXP (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBNF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBN (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBNL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBLNF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBLN (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBLNL (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1)
{
  if (real_zerop (op0))
    {
      {
/* #line 3276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_207 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (op1))
    {
      {
/* #line 3280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	if (gimple_simplify_113 (res_code, res_ops, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case REAL_CST:
      {
	{
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
/* #line 3284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0])))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3285, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[0];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree),
                 code_helper code, tree type, tree op0, tree op1)
{
  switch (code.get_rep())
    {
    case PLUS_EXPR:
      return gimple_simplify_PLUS_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case POINTER_PLUS_EXPR:
      return gimple_simplify_POINTER_PLUS_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case MINUS_EXPR:
      return gimple_simplify_MINUS_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case BIT_IOR_EXPR:
      return gimple_simplify_BIT_IOR_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case BIT_XOR_EXPR:
      return gimple_simplify_BIT_XOR_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case MULT_EXPR:
      return gimple_simplify_MULT_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case TRUNC_DIV_EXPR:
      return gimple_simplify_TRUNC_DIV_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case CEIL_DIV_EXPR:
      return gimple_simplify_CEIL_DIV_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case FLOOR_DIV_EXPR:
      return gimple_simplify_FLOOR_DIV_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case ROUND_DIV_EXPR:
      return gimple_simplify_ROUND_DIV_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case EXACT_DIV_EXPR:
      return gimple_simplify_EXACT_DIV_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case RDIV_EXPR:
      return gimple_simplify_RDIV_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case CEIL_MOD_EXPR:
      return gimple_simplify_CEIL_MOD_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case FLOOR_MOD_EXPR:
      return gimple_simplify_FLOOR_MOD_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case ROUND_MOD_EXPR:
      return gimple_simplify_ROUND_MOD_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case TRUNC_MOD_EXPR:
      return gimple_simplify_TRUNC_MOD_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_POWF:
      return gimple_simplify_CFN_BUILT_IN_POWF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_POW:
      return gimple_simplify_CFN_BUILT_IN_POW (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_POWL:
      return gimple_simplify_CFN_BUILT_IN_POWL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_POW:
      return gimple_simplify_CFN_POW (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_POWIF:
      return gimple_simplify_CFN_BUILT_IN_POWIF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_POWI:
      return gimple_simplify_CFN_BUILT_IN_POWI (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_POWIL:
      return gimple_simplify_CFN_BUILT_IN_POWIL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_HYPOTF:
      return gimple_simplify_CFN_BUILT_IN_HYPOTF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_HYPOT:
      return gimple_simplify_CFN_BUILT_IN_HYPOT (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_HYPOTL:
      return gimple_simplify_CFN_BUILT_IN_HYPOTL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_COPYSIGNF:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_COPYSIGN:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGN (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_COPYSIGNL:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_COPYSIGN:
      return gimple_simplify_CFN_COPYSIGN (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case BIT_AND_EXPR:
      return gimple_simplify_BIT_AND_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case LT_EXPR:
      return gimple_simplify_LT_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case GE_EXPR:
      return gimple_simplify_GE_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case GT_EXPR:
      return gimple_simplify_GT_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case LE_EXPR:
      return gimple_simplify_LE_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case EQ_EXPR:
      return gimple_simplify_EQ_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case NE_EXPR:
      return gimple_simplify_NE_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case MIN_EXPR:
      return gimple_simplify_MIN_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case MAX_EXPR:
      return gimple_simplify_MAX_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_FMINF:
      return gimple_simplify_CFN_BUILT_IN_FMINF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_FMIN:
      return gimple_simplify_CFN_BUILT_IN_FMIN (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_FMINL:
      return gimple_simplify_CFN_BUILT_IN_FMINL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_FMIN:
      return gimple_simplify_CFN_FMIN (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_FMAXF:
      return gimple_simplify_CFN_BUILT_IN_FMAXF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_FMAX:
      return gimple_simplify_CFN_BUILT_IN_FMAX (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_FMAXL:
      return gimple_simplify_CFN_BUILT_IN_FMAXL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_FMAX:
      return gimple_simplify_CFN_FMAX (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case LROTATE_EXPR:
      return gimple_simplify_LROTATE_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case RROTATE_EXPR:
      return gimple_simplify_RROTATE_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case RSHIFT_EXPR:
      return gimple_simplify_RSHIFT_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case LSHIFT_EXPR:
      return gimple_simplify_LSHIFT_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case COMPLEX_EXPR:
      return gimple_simplify_COMPLEX_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case UNLE_EXPR:
      return gimple_simplify_UNLE_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case UNGE_EXPR:
      return gimple_simplify_UNGE_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case UNEQ_EXPR:
      return gimple_simplify_UNEQ_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case UNLT_EXPR:
      return gimple_simplify_UNLT_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case UNGT_EXPR:
      return gimple_simplify_UNGT_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case LTGT_EXPR:
      return gimple_simplify_LTGT_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case UNORDERED_EXPR:
      return gimple_simplify_UNORDERED_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case ORDERED_EXPR:
      return gimple_simplify_ORDERED_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_LDEXPF:
      return gimple_simplify_CFN_BUILT_IN_LDEXPF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_LDEXP:
      return gimple_simplify_CFN_BUILT_IN_LDEXP (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_LDEXPL:
      return gimple_simplify_CFN_BUILT_IN_LDEXPL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_LDEXP:
      return gimple_simplify_CFN_LDEXP (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_SCALBNF:
      return gimple_simplify_CFN_BUILT_IN_SCALBNF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_SCALBN:
      return gimple_simplify_CFN_BUILT_IN_SCALBN (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_SCALBNL:
      return gimple_simplify_CFN_BUILT_IN_SCALBNL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_SCALBLNF:
      return gimple_simplify_CFN_BUILT_IN_SCALBLNF (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_SCALBLN:
      return gimple_simplify_CFN_BUILT_IN_SCALBLN (res_code, res_ops, seq, valueize, code, type, op0, op1);
    case -CFN_BUILT_IN_SCALBLNL:
      return gimple_simplify_CFN_BUILT_IN_SCALBLNL (res_code, res_ops, seq, valueize, code, type, op0, op1);
    default:;
    }
  return false;
}

static bool
gimple_simplify_COND_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1, tree op2)
{
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case LT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								CASE_CONVERT:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
										    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    CASE_CONVERT:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    switch (TREE_CODE (op2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
					    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								case PLUS_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      switch (TREE_CODE (op2))
										        {
											case INTEGER_CST:
											  {
											    {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											      tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
											      if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, PLUS_EXPR))
											        return true;
											    }
											    break;
											  }
										        default:;
										        }
										      break;
										    }
									          default:;
									          }
									      }
									  }
								      }
								    break;
								  }
								case MINUS_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      switch (TREE_CODE (op2))
										        {
											case INTEGER_CST:
											  {
											    {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											      tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
											      if (gimple_simplify_71 (res_code, res_ops, 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 (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    case PLUS_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (tree_swap_operands_p (o50, o51))
							  std::swap (o50, o51);
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
									  if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						      }
						  }
					        break;
					      }
					    case MINUS_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
									  if (gimple_simplify_71 (res_code, res_ops, 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 o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								CASE_CONVERT:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
										    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    CASE_CONVERT:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    switch (TREE_CODE (op2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
					    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								case PLUS_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      switch (TREE_CODE (op2))
										        {
											case INTEGER_CST:
											  {
											    {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											      tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
											      if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, PLUS_EXPR))
											        return true;
											    }
											    break;
											  }
										        default:;
										        }
										      break;
										    }
									          default:;
									          }
									      }
									  }
								      }
								    break;
								  }
								case MINUS_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      switch (TREE_CODE (op2))
										        {
											case INTEGER_CST:
											  {
											    {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											      tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
											      if (gimple_simplify_71 (res_code, res_ops, 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 (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    case PLUS_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (tree_swap_operands_p (o50, o51))
							  std::swap (o50, o51);
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
									  if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						      }
						  }
					        break;
					      }
					    case MINUS_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
									  if (gimple_simplify_71 (res_code, res_ops, 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 o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								CASE_CONVERT:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
										    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    CASE_CONVERT:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    switch (TREE_CODE (op2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
					    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								case PLUS_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      switch (TREE_CODE (op2))
										        {
											case INTEGER_CST:
											  {
											    {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											      tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
											      if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, PLUS_EXPR))
											        return true;
											    }
											    break;
											  }
										        default:;
										        }
										      break;
										    }
									          default:;
									          }
									      }
									  }
								      }
								    break;
								  }
								case MINUS_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      switch (TREE_CODE (op2))
										        {
											case INTEGER_CST:
											  {
											    {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											      tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
											      if (gimple_simplify_71 (res_code, res_ops, 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 (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    case PLUS_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (tree_swap_operands_p (o50, o51))
							  std::swap (o50, o51);
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
									  if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						      }
						  }
					        break;
					      }
					    case MINUS_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
									  if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, MINUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								CASE_CONVERT:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
										    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    CASE_CONVERT:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    switch (TREE_CODE (op2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
					    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								case PLUS_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (tree_swap_operands_p (o60, o61))
									      std::swap (o60, o61);
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      switch (TREE_CODE (op2))
										        {
											case INTEGER_CST:
											  {
											    {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											      tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
											      if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, PLUS_EXPR))
											        return true;
											    }
											    break;
											  }
										        default:;
										        }
										      break;
										    }
									          default:;
									          }
									      }
									  }
								      }
								    break;
								  }
								case MINUS_EXPR:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									tree o61 = gimple_assign_rhs2 (def);
									if ((o61 = do_valueize (valueize, o61)))
									  {
									    if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									      {
										switch (TREE_CODE (o61))
										  {
										  case INTEGER_CST:
										    {
										      switch (TREE_CODE (op2))
										        {
											case INTEGER_CST:
											  {
											    {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
											      tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
											      if (gimple_simplify_71 (res_code, res_ops, 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 (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    case PLUS_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (tree_swap_operands_p (o50, o51))
							  std::swap (o50, o51);
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
									  if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						      }
						  }
					        break;
					      }
					    case MINUS_EXPR:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    tree o51 = gimple_assign_rhs2 (def);
						    if ((o51 = do_valueize (valueize, o51)))
						      {
							if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
							  {
							    switch (TREE_CODE (o51))
							      {
							      case INTEGER_CST:
							        {
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
									  if (gimple_simplify_71 (res_code, res_ops, 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 o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      CASE_CONVERT:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      switch (TREE_CODE (o21))
					        {
						case INTEGER_CST:
						  {
						    switch (TREE_CODE (op1))
						      {
						      case SSA_NAME:
						        if (do_valueize (valueize, op1) != NULL_TREE)
						          {
						            gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
							    if (gassign *def = dyn_cast <gassign *> (def_stmt))
							      switch (gimple_assign_rhs_code (def))
								{
								CASE_CONVERT:
								  {
								    tree o60 = gimple_assign_rhs1 (def);
								    if ((o60 = do_valueize (valueize, o60)))
								      {
									if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
										    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  switch (TREE_CODE (o21))
			    {
			    case INTEGER_CST:
			      {
				switch (TREE_CODE (op1))
				  {
				  case SSA_NAME:
				    if (do_valueize (valueize, op1) != NULL_TREE)
				      {
				        gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
					if (gassign *def = dyn_cast <gassign *> (def_stmt))
					  switch (gimple_assign_rhs_code (def))
					    {
					    CASE_CONVERT:
					      {
						tree o50 = gimple_assign_rhs1 (def);
						if ((o50 = do_valueize (valueize, o50)))
						  {
						    if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
								if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						      }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
				  {
				    switch (TREE_CODE (op2))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
					    if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 1998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, op2 };
/* #line 1998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (integer_zerop (captures[0]))
	    {
/* #line 1999 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2000, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] = captures[2];
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	    }
	  else
	    {
/* #line 2001 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2002, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] = captures[1];
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	    }
	}
        break;
      }
    case LT_EXPR:
      {
	tree o20 = TREE_OPERAND (op0, 0);
	if ((TREE_CODE (o20) == SSA_NAME
	     || is_gimple_min_invariant (o20))
	    && (o20 = do_valueize (valueize, o20)))
	  {
	    tree o21 = TREE_OPERAND (op0, 1);
	    if ((TREE_CODE (o21) == SSA_NAME
	         || is_gimple_min_invariant (o21))
	        && (o21 = do_valueize (valueize, o21)))
	      {
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								{
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
									  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  switch (TREE_CODE (op2))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
				  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      break;
		    }
	          default:;
	          }
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case PLUS_EXPR:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      tree o61 = gimple_assign_rhs2 (def);
							      if ((o61 = do_valueize (valueize, o61)))
							        {
								  if (tree_swap_operands_p (o60, o61))
								    std::swap (o60, o61);
								  if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								    {
								      switch (TREE_CODE (o61))
								        {
									case INTEGER_CST:
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
										    if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, PLUS_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									    break;
									  }
								        default:;
								        }
								    }
							        }
							    }
						          break;
						        }
						      case MINUS_EXPR:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      tree o61 = gimple_assign_rhs2 (def);
							      if ((o61 = do_valueize (valueize, o61)))
							        {
								  if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								    {
								      switch (TREE_CODE (o61))
								        {
									case INTEGER_CST:
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
										    if (gimple_simplify_71 (res_code, res_ops, 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 (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case PLUS_EXPR:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  tree o51 = gimple_assign_rhs2 (def);
					  if ((o51 = do_valueize (valueize, o51)))
					    {
					      if (tree_swap_operands_p (o50, o51))
					        std::swap (o50, o51);
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  switch (TREE_CODE (o51))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
								if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, LT_EXPR, PLUS_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					        }
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  tree o51 = gimple_assign_rhs2 (def);
					  if ((o51 = do_valueize (valueize, o51)))
					    {
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  switch (TREE_CODE (o51))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
								if (gimple_simplify_71 (res_code, res_ops, 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 o20 = TREE_OPERAND (op0, 0);
	if ((TREE_CODE (o20) == SSA_NAME
	     || is_gimple_min_invariant (o20))
	    && (o20 = do_valueize (valueize, o20)))
	  {
	    tree o21 = TREE_OPERAND (op0, 1);
	    if ((TREE_CODE (o21) == SSA_NAME
	         || is_gimple_min_invariant (o21))
	        && (o21 = do_valueize (valueize, o21)))
	      {
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								{
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
									  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  switch (TREE_CODE (op2))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
				  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      break;
		    }
	          default:;
	          }
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case PLUS_EXPR:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      tree o61 = gimple_assign_rhs2 (def);
							      if ((o61 = do_valueize (valueize, o61)))
							        {
								  if (tree_swap_operands_p (o60, o61))
								    std::swap (o60, o61);
								  if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								    {
								      switch (TREE_CODE (o61))
								        {
									case INTEGER_CST:
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
										    if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, PLUS_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									    break;
									  }
								        default:;
								        }
								    }
							        }
							    }
						          break;
						        }
						      case MINUS_EXPR:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      tree o61 = gimple_assign_rhs2 (def);
							      if ((o61 = do_valueize (valueize, o61)))
							        {
								  if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								    {
								      switch (TREE_CODE (o61))
								        {
									case INTEGER_CST:
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
										    if (gimple_simplify_71 (res_code, res_ops, 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 (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case PLUS_EXPR:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  tree o51 = gimple_assign_rhs2 (def);
					  if ((o51 = do_valueize (valueize, o51)))
					    {
					      if (tree_swap_operands_p (o50, o51))
					        std::swap (o50, o51);
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  switch (TREE_CODE (o51))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
								if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, LE_EXPR, PLUS_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					        }
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  tree o51 = gimple_assign_rhs2 (def);
					  if ((o51 = do_valueize (valueize, o51)))
					    {
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  switch (TREE_CODE (o51))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
								if (gimple_simplify_71 (res_code, res_ops, 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 o20 = TREE_OPERAND (op0, 0);
	if ((TREE_CODE (o20) == SSA_NAME
	     || is_gimple_min_invariant (o20))
	    && (o20 = do_valueize (valueize, o20)))
	  {
	    tree o21 = TREE_OPERAND (op0, 1);
	    if ((TREE_CODE (o21) == SSA_NAME
	         || is_gimple_min_invariant (o21))
	        && (o21 = do_valueize (valueize, o21)))
	      {
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								{
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
									  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  switch (TREE_CODE (op2))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
				  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      break;
		    }
	          default:;
	          }
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case PLUS_EXPR:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      tree o61 = gimple_assign_rhs2 (def);
							      if ((o61 = do_valueize (valueize, o61)))
							        {
								  if (tree_swap_operands_p (o60, o61))
								    std::swap (o60, o61);
								  if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								    {
								      switch (TREE_CODE (o61))
								        {
									case INTEGER_CST:
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
										    if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, PLUS_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									    break;
									  }
								        default:;
								        }
								    }
							        }
							    }
						          break;
						        }
						      case MINUS_EXPR:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      tree o61 = gimple_assign_rhs2 (def);
							      if ((o61 = do_valueize (valueize, o61)))
							        {
								  if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								    {
								      switch (TREE_CODE (o61))
								        {
									case INTEGER_CST:
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
										    if (gimple_simplify_71 (res_code, res_ops, 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 (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case PLUS_EXPR:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  tree o51 = gimple_assign_rhs2 (def);
					  if ((o51 = do_valueize (valueize, o51)))
					    {
					      if (tree_swap_operands_p (o50, o51))
					        std::swap (o50, o51);
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  switch (TREE_CODE (o51))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
								if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, PLUS_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					        }
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  tree o51 = gimple_assign_rhs2 (def);
					  if ((o51 = do_valueize (valueize, o51)))
					    {
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  switch (TREE_CODE (o51))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
								if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GT_EXPR, MINUS_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree o20 = TREE_OPERAND (op0, 0);
	if ((TREE_CODE (o20) == SSA_NAME
	     || is_gimple_min_invariant (o20))
	    && (o20 = do_valueize (valueize, o20)))
	  {
	    tree o21 = TREE_OPERAND (op0, 1);
	    if ((TREE_CODE (o21) == SSA_NAME
	         || is_gimple_min_invariant (o21))
	        && (o21 = do_valueize (valueize, o21)))
	      {
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								{
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
									  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  switch (TREE_CODE (op2))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
				  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      break;
		    }
	          default:;
	          }
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      case PLUS_EXPR:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      tree o61 = gimple_assign_rhs2 (def);
							      if ((o61 = do_valueize (valueize, o61)))
							        {
								  if (tree_swap_operands_p (o60, o61))
								    std::swap (o60, o61);
								  if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								    {
								      switch (TREE_CODE (o61))
								        {
									case INTEGER_CST:
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
										    if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, PLUS_EXPR))
										      return true;
										  }
									          break;
									        }
									      default:;
									      }
									    break;
									  }
								        default:;
								        }
								    }
							        }
							    }
						          break;
						        }
						      case MINUS_EXPR:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      tree o61 = gimple_assign_rhs2 (def);
							      if ((o61 = do_valueize (valueize, o61)))
							        {
								  if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								    {
								      switch (TREE_CODE (o61))
								        {
									case INTEGER_CST:
									  {
									    switch (TREE_CODE (op2))
									      {
									      case INTEGER_CST:
									        {
										  {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { o30, o21, o61, op2 };
										    if (gimple_simplify_71 (res_code, res_ops, 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 (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  case PLUS_EXPR:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  tree o51 = gimple_assign_rhs2 (def);
					  if ((o51 = do_valueize (valueize, o51)))
					    {
					      if (tree_swap_operands_p (o50, o51))
					        std::swap (o50, o51);
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  switch (TREE_CODE (o51))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
								if (gimple_simplify_71 (res_code, res_ops, seq, valueize, type, captures, GE_EXPR, PLUS_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					        }
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  tree o51 = gimple_assign_rhs2 (def);
					  if ((o51 = do_valueize (valueize, o51)))
					    {
					      if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
						{
						  switch (TREE_CODE (o51))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (op2))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 2112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { o20, o21, o51, op2 };
								if (gimple_simplify_71 (res_code, res_ops, 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 o20 = TREE_OPERAND (op0, 0);
	if ((TREE_CODE (o20) == SSA_NAME
	     || is_gimple_min_invariant (o20))
	    && (o20 = do_valueize (valueize, o20)))
	  {
	    tree o21 = TREE_OPERAND (op0, 1);
	    if ((TREE_CODE (o21) == SSA_NAME
	         || is_gimple_min_invariant (o21))
	        && (o21 = do_valueize (valueize, o21)))
	      {
		if (tree_swap_operands_p (o20, o21))
		  std::swap (o20, o21);
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    CASE_CONVERT:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    switch (TREE_CODE (o21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (op1))
					    {
					    case SSA_NAME:
					      if (do_valueize (valueize, op1) != NULL_TREE)
					        {
					          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
						  if (gassign *def = dyn_cast <gassign *> (def_stmt))
						    switch (gimple_assign_rhs_code (def))
						      {
						      CASE_CONVERT:
						        {
							  tree o60 = gimple_assign_rhs1 (def);
							  if ((o60 = do_valueize (valueize, o60)))
							    {
							      if (o60 == o30 || (operand_equal_p (o60, o30, 0) && types_match (o60, o30)))
								{
								  switch (TREE_CODE (op2))
								    {
								    case INTEGER_CST:
								      {
									{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
									  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if (op1 == o30 || (operand_equal_p (op1, o30, 0) && types_match (op1, o30)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o30, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				          break;
				        }
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (o21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (op1))
		        {
			case SSA_NAME:
			  if (do_valueize (valueize, op1) != NULL_TREE)
			    {
			      gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
			      if (gassign *def = dyn_cast <gassign *> (def_stmt))
			        switch (gimple_assign_rhs_code (def))
				  {
				  CASE_CONVERT:
				    {
				      tree o50 = gimple_assign_rhs1 (def);
				      if ((o50 = do_valueize (valueize, o50)))
				        {
					  if (o50 == o20 || (operand_equal_p (o50, o20, 0) && types_match (o50, o20)))
					    {
					      switch (TREE_CODE (op2))
					        {
						case INTEGER_CST:
						  {
						    {
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
						      if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if (op1 == o20 || (operand_equal_p (op1, o20, 0) && types_match (op1, o20)))
			{
			  switch (TREE_CODE (op2))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2029 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { o20, o21, op2 };
				  if (gimple_simplify_12 (res_code, res_ops, seq, valueize, type, captures, EQ_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case COND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  tree o32 = gimple_assign_rhs3 (def);
			  if ((o32 = do_valueize (valueize, o32)))
			    {
			      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
				{
				  {
/* #line 2192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { op0, o31, o32, op2 };
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2192, %s:%d\n", __FILE__, __LINE__);
				    *res_code = COND_EXPR;
				    res_ops[0] = captures[0];
				    res_ops[0] = unshare_expr (res_ops[0]);
				    res_ops[1] = captures[1];
				    res_ops[2] = captures[3];
				    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op2))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op2) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op2);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case COND_EXPR:
	        {
		  tree o40 = gimple_assign_rhs1 (def);
		  if ((o40 = do_valueize (valueize, o40)))
		    {
		      tree o41 = gimple_assign_rhs2 (def);
		      if ((o41 = do_valueize (valueize, o41)))
		        {
			  tree o42 = gimple_assign_rhs3 (def);
			  if ((o42 = do_valueize (valueize, o42)))
			    {
			      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
				{
				  {
/* #line 2195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o41, o42 };
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2195, %s:%d\n", __FILE__, __LINE__);
				    *res_code = COND_EXPR;
				    res_ops[0] = captures[0];
				    res_ops[0] = unshare_expr (res_ops[0]);
				    res_ops[1] = captures[1];
				    res_ops[2] = captures[3];
				    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			        }
			      {
/* #line 2203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o40, o41, o42 };
/* #line 2203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (COMPARISON_CLASS_P (captures[0]) && COMPARISON_CLASS_P (captures[2]) && invert_tree_comparison (TREE_CODE (captures[0]), HONOR_NANS (TREE_OPERAND (captures[0], 0))) == TREE_CODE (captures[2]) && operand_equal_p (TREE_OPERAND (captures[0], 0), TREE_OPERAND (captures[2], 0), 0) && operand_equal_p (TREE_OPERAND (captures[0], 1), TREE_OPERAND (captures[2], 1), 0))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2209, %s:%d\n", __FILE__, __LINE__);
				    *res_code = COND_EXPR;
				    res_ops[0] = captures[0];
				    res_ops[0] = unshare_expr (res_ops[0]);
				    res_ops[1] = captures[1];
				    res_ops[2] = captures[3];
				    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case COND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  tree o32 = gimple_assign_rhs3 (def);
			  if ((o32 = do_valueize (valueize, o32)))
			    {
			      {
/* #line 2212 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { op0, o30, o31, o32, op2 };
/* #line 2212 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (COMPARISON_CLASS_P (captures[0]) && COMPARISON_CLASS_P (captures[1]) && invert_tree_comparison (TREE_CODE (captures[0]), HONOR_NANS (TREE_OPERAND (captures[0], 0))) == TREE_CODE (captures[1]) && operand_equal_p (TREE_OPERAND (captures[0], 0), TREE_OPERAND (captures[1], 0), 0) && operand_equal_p (TREE_OPERAND (captures[0], 1), TREE_OPERAND (captures[1], 1), 0))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2218, %s:%d\n", __FILE__, __LINE__);
				    *res_code = COND_EXPR;
				    res_ops[0] = captures[0];
				    res_ops[0] = unshare_expr (res_ops[0]);
				    res_ops[1] = captures[3];
				    res_ops[2] = captures[4];
				    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op2 == op1 || (operand_equal_p (op2, op1, 0) && types_match (op2, op1)))
    {
      {
/* #line 2223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2223, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[1];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case NE_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (tree_swap_operands_p (o20, o21))
			    std::swap (o20, o21);
			  switch (TREE_CODE (o20))
			    {
			    case SSA_NAME:
			      if (do_valueize (valueize, o20) != NULL_TREE)
			        {
			          gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
				  if (gassign *def = dyn_cast <gassign *> (def_stmt))
				    switch (gimple_assign_rhs_code (def))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree o30 = gimple_assign_rhs1 (def);
					  if ((o30 = do_valueize (valueize, o30)))
					    {
					      tree o31 = gimple_assign_rhs2 (def);
					      if ((o31 = do_valueize (valueize, o31)))
					        {
						  if (tree_swap_operands_p (o30, o31))
						    std::swap (o30, o31);
						  if (integer_pow2p (o31))
						    {
						      if (integer_zerop (o21))
							{
							  if (integer_pow2p (op1))
							    {
							      if (integer_zerop (op2))
								{
								  {
/* #line 2793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op1 };
								    if (gimple_simplify_2 (res_code, res_ops, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						    }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree o20 = gimple_assign_rhs1 (def);
		  if ((o20 = do_valueize (valueize, o20)))
		    {
		      tree o21 = gimple_assign_rhs2 (def);
		      if ((o21 = do_valueize (valueize, o21)))
		        {
			  if (integer_zerop (o21))
			    {
			      if (integer_pow2p (op1))
				{
				  if (integer_zerop (op2))
				    {
				      {
/* #line 2822 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
					if (gimple_simplify_194 (res_code, res_ops, seq, valueize, type, captures))
					  return true;
				      }
				    }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case NE_EXPR:
      {
	tree o20 = TREE_OPERAND (op0, 0);
	if ((TREE_CODE (o20) == SSA_NAME
	     || is_gimple_min_invariant (o20))
	    && (o20 = do_valueize (valueize, o20)))
	  {
	    tree o21 = TREE_OPERAND (op0, 1);
	    if ((TREE_CODE (o21) == SSA_NAME
	         || is_gimple_min_invariant (o21))
	        && (o21 = do_valueize (valueize, o21)))
	      {
		if (tree_swap_operands_p (o20, o21))
		  std::swap (o20, o21);
		switch (TREE_CODE (o20))
		  {
		  case SSA_NAME:
		    if (do_valueize (valueize, o20) != NULL_TREE)
		      {
		        gimple *def_stmt = SSA_NAME_DEF_STMT (o20);
			if (gassign *def = dyn_cast <gassign *> (def_stmt))
			  switch (gimple_assign_rhs_code (def))
			    {
			    case BIT_AND_EXPR:
			      {
				tree o30 = gimple_assign_rhs1 (def);
				if ((o30 = do_valueize (valueize, o30)))
				  {
				    tree o31 = gimple_assign_rhs2 (def);
				    if ((o31 = do_valueize (valueize, o31)))
				      {
					if (tree_swap_operands_p (o30, o31))
					  std::swap (o30, o31);
					if (integer_pow2p (o31))
					  {
					    if (integer_zerop (o21))
					      {
						if (integer_pow2p (op1))
						  {
						    if (integer_zerop (op2))
						      {
							{
/* #line 2793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { o30, o31, op1 };
							  if (gimple_simplify_2 (res_code, res_ops, seq, valueize, type, captures))
							    return true;
							}
						      }
						  }
					      }
					  }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
	      }
	  }
        break;
      }
    case LT_EXPR:
      {
	tree o20 = TREE_OPERAND (op0, 0);
	if ((TREE_CODE (o20) == SSA_NAME
	     || is_gimple_min_invariant (o20))
	    && (o20 = do_valueize (valueize, o20)))
	  {
	    tree o21 = TREE_OPERAND (op0, 1);
	    if ((TREE_CODE (o21) == SSA_NAME
	         || is_gimple_min_invariant (o21))
	        && (o21 = do_valueize (valueize, o21)))
	      {
		if (integer_zerop (o21))
		  {
		    if (integer_pow2p (op1))
		      {
			if (integer_zerop (op2))
			  {
			    {
/* #line 2822 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { o20, op1 };
			      if (gimple_simplify_194 (res_code, res_ops, seq, valueize, type, captures))
			        return true;
			    }
			  }
		      }
		  }
	      }
	  }
        break;
      }
    default:;
    }
tree op0_pops[1];
if (gimple_logical_inverted_value (op0, op0_pops, valueize))
  {
    tree o20 = op0_pops[0];
    if (gimple_truth_valued_p (o20, valueize))
      {
	{
/* #line 2228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { o20, op1, op2 };
	  gimple_seq *lseq = seq;
	  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2228, %s:%d\n", __FILE__, __LINE__);
	  *res_code = COND_EXPR;
	  res_ops[0] = captures[0];
	  res_ops[1] = captures[2];
	  res_ops[2] = captures[1];
	  gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
	  return true;
	}
      }
}
  return false;
}

static bool
gimple_simplify_VEC_COND_EXPR (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1, tree op2)
{
  switch (TREE_CODE (op0))
    {
    case VECTOR_CST:
      {
	{
/* #line 2005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, op2 };
/* #line 2005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	  if (integer_all_onesp (captures[0]))
	    {
	      gimple_seq *lseq = seq;
	      if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2006, %s:%d\n", __FILE__, __LINE__);
	      res_ops[0] = captures[1];
	      *res_code = TREE_CODE (res_ops[0]);
	      return true;
	    }
	  else
	    {
/* #line 2007 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	      if (integer_zerop (captures[0]))
		{
		  gimple_seq *lseq = seq;
		  if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2008, %s:%d\n", __FILE__, __LINE__);
		  res_ops[0] = captures[2];
		  *res_code = TREE_CODE (res_ops[0]);
		  return true;
		}
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  tree o32 = gimple_assign_rhs3 (def);
			  if ((o32 = do_valueize (valueize, o32)))
			    {
			      if (o30 == op0 || (operand_equal_p (o30, op0, 0) && types_match (o30, op0)))
				{
				  {
/* #line 2192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { op0, o31, o32, op2 };
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2192, %s:%d\n", __FILE__, __LINE__);
				    *res_code = VEC_COND_EXPR;
				    res_ops[0] = captures[0];
				    res_ops[0] = unshare_expr (res_ops[0]);
				    res_ops[1] = captures[1];
				    res_ops[2] = captures[3];
				    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			        }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op2))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op2) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op2);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree o40 = gimple_assign_rhs1 (def);
		  if ((o40 = do_valueize (valueize, o40)))
		    {
		      tree o41 = gimple_assign_rhs2 (def);
		      if ((o41 = do_valueize (valueize, o41)))
		        {
			  tree o42 = gimple_assign_rhs3 (def);
			  if ((o42 = do_valueize (valueize, o42)))
			    {
			      if (o40 == op0 || (operand_equal_p (o40, op0, 0) && types_match (o40, op0)))
				{
				  {
/* #line 2195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { op0, op1, o41, o42 };
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2195, %s:%d\n", __FILE__, __LINE__);
				    *res_code = VEC_COND_EXPR;
				    res_ops[0] = captures[0];
				    res_ops[0] = unshare_expr (res_ops[0]);
				    res_ops[1] = captures[1];
				    res_ops[2] = captures[3];
				    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			        }
			      {
/* #line 2203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { op0, op1, o40, o41, o42 };
/* #line 2203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (COMPARISON_CLASS_P (captures[0]) && COMPARISON_CLASS_P (captures[2]) && invert_tree_comparison (TREE_CODE (captures[0]), HONOR_NANS (TREE_OPERAND (captures[0], 0))) == TREE_CODE (captures[2]) && operand_equal_p (TREE_OPERAND (captures[0], 0), TREE_OPERAND (captures[2], 0), 0) && operand_equal_p (TREE_OPERAND (captures[0], 1), TREE_OPERAND (captures[2], 1), 0))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2209, %s:%d\n", __FILE__, __LINE__);
				    *res_code = VEC_COND_EXPR;
				    res_ops[0] = captures[0];
				    res_ops[0] = unshare_expr (res_ops[0]);
				    res_ops[1] = captures[1];
				    res_ops[2] = captures[3];
				    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (op1))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op1) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op1);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree o30 = gimple_assign_rhs1 (def);
		  if ((o30 = do_valueize (valueize, o30)))
		    {
		      tree o31 = gimple_assign_rhs2 (def);
		      if ((o31 = do_valueize (valueize, o31)))
		        {
			  tree o32 = gimple_assign_rhs3 (def);
			  if ((o32 = do_valueize (valueize, o32)))
			    {
			      {
/* #line 2212 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { op0, o30, o31, o32, op2 };
/* #line 2212 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				if (COMPARISON_CLASS_P (captures[0]) && COMPARISON_CLASS_P (captures[1]) && invert_tree_comparison (TREE_CODE (captures[0]), HONOR_NANS (TREE_OPERAND (captures[0], 0))) == TREE_CODE (captures[1]) && operand_equal_p (TREE_OPERAND (captures[0], 0), TREE_OPERAND (captures[1], 0), 0) && operand_equal_p (TREE_OPERAND (captures[0], 1), TREE_OPERAND (captures[1], 1), 0))
				  {
				    gimple_seq *lseq = seq;
				    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2218, %s:%d\n", __FILE__, __LINE__);
				    *res_code = VEC_COND_EXPR;
				    res_ops[0] = captures[0];
				    res_ops[0] = unshare_expr (res_ops[0]);
				    res_ops[1] = captures[3];
				    res_ops[2] = captures[4];
				    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
				    return true;
				  }
			      }
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (op2 == op1 || (operand_equal_p (op2, op1, 0) && types_match (op2, op1)))
    {
      {
/* #line 2223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { op0, op1 };
	gimple_seq *lseq = seq;
	if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2223, %s:%d\n", __FILE__, __LINE__);
	res_ops[0] = captures[1];
	*res_code = TREE_CODE (res_ops[0]);
	return true;
      }
    }
  tree op0_pops[1];
  if (gimple_logical_inverted_value (op0, op0_pops, valueize))
    {
      tree o20 = op0_pops[0];
      if (gimple_truth_valued_p (o20, valueize))
	{
	  {
/* #line 2228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { o20, op1, op2 };
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:2228, %s:%d\n", __FILE__, __LINE__);
	    *res_code = VEC_COND_EXPR;
	    res_ops[0] = captures[0];
	    res_ops[1] = captures[2];
	    res_ops[2] = captures[1];
	    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
        }
}
  return false;
}

static bool
gimple_simplify_BIT_FIELD_REF (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree op0, tree op1, tree op2)
{
  {
/* #line 3743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, op2 };
/* #line 3743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
    if (TREE_CODE (TREE_TYPE (captures[0])) == COMPLEX_TYPE && tree_int_cst_equal (captures[1], TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0])))))
      {
/* #line 3746 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	if (integer_zerop (captures[2]))
	  {
	    gimple_seq *lseq = seq;
	    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3747, %s:%d\n", __FILE__, __LINE__);
	    *res_code = VIEW_CONVERT_EXPR;
	    {
	      tree ops1[1], res;
	      ops1[0] = captures[0];
	      code_helper tem_code = REALPART_EXPR;
	      tree tem_ops[3] = { ops1[0] };
	      gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
	      res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
	      if (!res) return false;
	      res_ops[0] = res;
	    }
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
	else
	  {
/* #line 3748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
	    if (tree_int_cst_equal (captures[2], TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0])))))
	      {
		gimple_seq *lseq = seq;
		if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3749, %s:%d\n", __FILE__, __LINE__);
		*res_code = VIEW_CONVERT_EXPR;
		{
		  tree ops1[1], res;
		  ops1[0] = captures[0];
		  code_helper tem_code = IMAGPART_EXPR;
		  tree tem_ops[3] = { ops1[0] };
		  gimple_resimplify1 (lseq, &tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, valueize);
		  res = maybe_push_res_to_seq (tem_code, TREE_TYPE (TREE_TYPE (ops1[0])), tem_ops, lseq);
		  if (!res) return false;
		  res_ops[0] = res;
		}
		gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
		return true;
	      }
	  }
      }
    else
      {
/* #line 3750 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.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 && 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 (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3767, %s:%d\n", __FILE__, __LINE__);
	    *res_code = NOP_EXPR;
	    res_ops[0] = captures[0];
	    gimple_resimplify1 (lseq, res_code, type, res_ops, valueize);
	    return true;
	  }
      }
  }
  switch (TREE_CODE (op0))
    {
    case SSA_NAME:
      if (do_valueize (valueize, op0) != NULL_TREE)
        {
          gimple *def_stmt = SSA_NAME_DEF_STMT (op0);
	  if (gassign *def = dyn_cast <gassign *> (def_stmt))
	    switch (gimple_assign_rhs_code (def))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 3773 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { op0, op1, op2 };
/* #line 3773 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
		    if (VECTOR_TYPE_P (TREE_TYPE (captures[0])) && (types_match (type, TREE_TYPE (TREE_TYPE (captures[0]))) || (VECTOR_TYPE_P (type) && types_match (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[0]))))))
		      {
			{
/* #line 3777 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 tree ctor = (TREE_CODE (captures[0]) == SSA_NAME ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
 tree eltype = TREE_TYPE (TREE_TYPE (ctor));
 unsigned HOST_WIDE_INT width = tree_to_uhwi (TYPE_SIZE (eltype));
 unsigned HOST_WIDE_INT n = tree_to_uhwi (captures[1]);
 unsigned HOST_WIDE_INT idx = tree_to_uhwi (captures[2]);
/* #line 3786 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
			    if (n != 0 && (idx % width) == 0 && (n % width) == 0 && ((idx + n) / width) <= TYPE_VECTOR_SUBPARTS (TREE_TYPE (ctor)))
			      {
				{
/* #line 3790 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 idx = idx / width;
 n = n / width;
 unsigned HOST_WIDE_INT 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);
 }/* #line 3805 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
				    if ((idx % k) == 0 && (n % k) == 0)
				      {
/* #line 3806 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (CONSTRUCTOR_NELTS (ctor) == 0)
					  {
					    gimple_seq *lseq = seq;
					    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3807, %s:%d\n", __FILE__, __LINE__);
					    res_ops[0] =  build_constructor (type, NULL);
					    *res_code = TREE_CODE (res_ops[0]);
					    return true;
					  }
					else
					  {
					    {
/* #line 3808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
 idx /= k;
 n /= k;
/* #line 3813 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						if (n == 1)
						  {
/* #line 3814 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						    if (idx < CONSTRUCTOR_NELTS (ctor))
						      {
							gimple_seq *lseq = seq;
							if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3815, %s:%d\n", __FILE__, __LINE__);
							res_ops[0] =  CONSTRUCTOR_ELT (ctor, idx)->value;
							*res_code = TREE_CODE (res_ops[0]);
							return true;
						      }
						    else
						      {
							gimple_seq *lseq = seq;
							if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3816, %s:%d\n", __FILE__, __LINE__);
							res_ops[0] =  build_zero_cst (type);
							*res_code = TREE_CODE (res_ops[0]);
							return true;
						      }
						  }
						else
						  {
						    gimple_seq *lseq = seq;
						    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3817, %s:%d\n", __FILE__, __LINE__);
 vec<constructor_elt, va_gc> *vals;
 vec_alloc (vals, n);
 for (unsigned i = 0;
 i < n && idx + i < CONSTRUCTOR_NELTS (ctor);
 ++i) CONSTRUCTOR_APPEND_ELT (vals, NULL_TREE, CONSTRUCTOR_ELT (ctor, idx + i)->value);
						    res_ops[0] =  build_constructor (type, vals);
						    *res_code = TREE_CODE (res_ops[0]);
						    return true;
						  }
					    }
					  }
				      }
				    else
				      {
/* #line 3827 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					if (idx + n <= (idx / k + 1) * k)
					  {
/* #line 3829 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
					    if (CONSTRUCTOR_NELTS (ctor) <= idx / k)
					      {
						gimple_seq *lseq = seq;
						if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3830, %s:%d\n", __FILE__, __LINE__);
						res_ops[0] =  build_zero_cst (type);
						*res_code = TREE_CODE (res_ops[0]);
						return true;
					      }
					    else
					      {
/* #line 3831 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/match.pd" */
						if (n == k)
						  {
						    gimple_seq *lseq = seq;
						    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3832, %s:%d\n", __FILE__, __LINE__);
						    res_ops[0] =  CONSTRUCTOR_ELT (ctor, idx / k)->value;
						    *res_code = TREE_CODE (res_ops[0]);
						    return true;
						  }
						else
						  {
						    gimple_seq *lseq = seq;
						    if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Applying pattern match.pd:3833, %s:%d\n", __FILE__, __LINE__);
						    *res_code = BIT_FIELD_REF;
						    res_ops[0] =  CONSTRUCTOR_ELT (ctor, idx / k)->value;
						    res_ops[1] = captures[1];
						    res_ops[2] =  bitsize_int ((idx % k) * width);
						    gimple_resimplify3 (lseq, res_code, type, res_ops, valueize);
						    return true;
						  }
					      }
					  }
				      }
				}
			      }
			}
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify (code_helper *res_code, tree *res_ops,
                 gimple_seq *seq, tree (*valueize)(tree),
                 code_helper code, tree type, tree op0, tree op1, tree op2)
{
  switch (code.get_rep())
    {
    case COND_EXPR:
      return gimple_simplify_COND_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1, op2);
    case VEC_COND_EXPR:
      return gimple_simplify_VEC_COND_EXPR (res_code, res_ops, seq, valueize, code, type, op0, op1, op2);
    case BIT_FIELD_REF:
      return gimple_simplify_BIT_FIELD_REF (res_code, res_ops, seq, valueize, code, type, op0, op1, op2);
    default:;
    }
  return false;
}
