LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-5.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 50.1 % 12481 6256
Test Date: 2026-05-30 15:37:04 Functions: 71.9 % 57 41
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Generated automatically by the program `genmatch' from
       2              :    a IL pattern matching and simplification description.  */
       3              : #pragma GCC diagnostic push
       4              : #pragma GCC diagnostic ignored "-Wunused-variable"
       5              : #pragma GCC diagnostic ignored "-Wunused-function"
       6              : 
       7              : #include "generic-match-auto.h"
       8              : 
       9              : bool
      10      1904281 : tree_power_of_two_cand (tree t, tree *res_ops)
      11              : {
      12      1904281 :   const tree type = TREE_TYPE (t);
      13      1904281 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14      1904281 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15      1903516 :   switch (TREE_CODE (t))
      16              :     {
      17      1576274 :     case INTEGER_CST:
      18      1576274 :       {
      19      1576274 :         {
      20      1576274 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      21      1576274 :           {
      22      1576274 :             res_ops[0] = captures[0];
      23      1576274 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 12, __FILE__, __LINE__, false);
      24              :             return true;
      25              :           }
      26              :         }
      27           16 :         break;
      28              :       }
      29           16 :     case LSHIFT_EXPR:
      30           16 :       {
      31           16 :         tree _p0 = TREE_OPERAND (t, 0);
      32           16 :         tree _p1 = TREE_OPERAND (t, 1);
      33           16 :         switch (TREE_CODE (_p0))
      34              :           {
      35           16 :           case INTEGER_CST:
      36           16 :             {
      37           16 :               {
      38           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      39           16 :                 {
      40           16 :                   res_ops[0] = captures[0];
      41           16 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 13, __FILE__, __LINE__, false);
      42           16 :                   return true;
      43              :                 }
      44              :               }
      45              :               break;
      46              :             }
      47              :           default:;
      48              :           }
      49              :         break;
      50              :       }
      51              :     default:;
      52              :     }
      53              :   return false;
      54              : }
      55              : 
      56              : bool
      57     80111997 : tree_with_possible_nonzero_bits (tree t)
      58              : {
      59     80111997 :   const tree type = TREE_TYPE (t);
      60     80111997 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      61     80111997 :   if (TREE_SIDE_EFFECTS (t)) return false;
      62     75105468 :   switch (TREE_CODE (t))
      63              :     {
      64      1995397 :     case BIT_AND_EXPR:
      65      1995397 :       {
      66      1995397 :         tree _p0 = TREE_OPERAND (t, 0);
      67      1995397 :         tree _p1 = TREE_OPERAND (t, 1);
      68      1995397 :         if (tree_with_possible_nonzero_bits_1 (_p0))
      69              :           {
      70       861717 :             {
      71       861717 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      72       861717 :               {
      73       861717 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      74       861717 :                 return true;
      75              :               }
      76              :             }
      77              :           }
      78      1133680 :         if (tree_with_possible_nonzero_bits_1 (_p1))
      79              :           {
      80       957772 :             {
      81       957772 :               tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      82       957772 :               {
      83       957772 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      84       957772 :                 return true;
      85              :               }
      86              :             }
      87              :           }
      88              :         break;
      89              :       }
      90     73285979 :     default:;
      91              :     }
      92     73285979 : if (tree_with_possible_nonzero_bits_1 (t))
      93              :   {
      94     40669953 :     {
      95     40669953 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      96     40669953 :       {
      97     40669953 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 36, __FILE__, __LINE__, false);
      98     40669953 :         return true;
      99              :       }
     100              :     }
     101              :   }
     102              :   return false;
     103              : }
     104              : 
     105              : bool
     106       747614 : tree_vec_same_elem_p (tree t)
     107              : {
     108       747614 :   const tree type = TREE_TYPE (t);
     109       747614 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     110       747614 :   if (TREE_SIDE_EFFECTS (t)) return false;
     111       747614 :   switch (TREE_CODE (t))
     112              :     {
     113            0 :     case VEC_DUPLICATE_EXPR:
     114            0 :       {
     115            0 :         tree _p0 = TREE_OPERAND (t, 0);
     116            0 :         {
     117            0 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
     118            0 :           {
     119            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 46, __FILE__, __LINE__, false);
     120            0 :             return true;
     121              :           }
     122              :         }
     123              :         break;
     124              :       }
     125              :     case CONSTRUCTOR:
     126              :       {
     127              :         {
     128              :           tree captures[1] ATTRIBUTE_UNUSED = { t };
     129              :           if (TREE_CODE (captures[0]) == SSA_NAME
     130              :  && uniform_vector_p (gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])))
     131              : )
     132              :             {
     133              :               {
     134              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 47, __FILE__, __LINE__, false);
     135              :                 return true;
     136              :               }
     137              :             }
     138              :         }
     139              :         break;
     140              :       }
     141       747614 :     default:;
     142              :     }
     143       747614 :   {
     144       747614 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     145       747614 :     if (uniform_vector_p (captures[0])
     146              : )
     147              :       {
     148        13913 :         {
     149        13913 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 48, __FILE__, __LINE__, false);
     150        13913 :           return true;
     151              :         }
     152              :       }
     153              :   }
     154              :   return false;
     155              : }
     156              : 
     157              : tree
     158          196 : generic_simplify_14 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     159              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     160              : {
     161          196 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     162          196 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail89;
     163          196 :   {
     164          196 :     if (! tree_invariant_p (captures[3])) goto next_after_fail89;
     165           15 :     tree res_op0;
     166           15 :     {
     167           15 :       tree _o1[2], _r1;
     168           15 :       _o1[0] = captures[2];
     169           15 :       _o1[1] = unshare_expr (captures[3]);
     170           15 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     171           15 :       res_op0 = _r1;
     172              :     }
     173           15 :     tree res_op1;
     174           15 :     {
     175           15 :       tree _o1[2], _r1;
     176           15 :       _o1[0] = captures[4];
     177           15 :       _o1[1] = captures[3];
     178           15 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     179           15 :       if (EXPR_P (_r1))
     180           14 :         goto next_after_fail89;
     181            1 :       res_op1 = _r1;
     182              :     }
     183            1 :     tree _r;
     184            1 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     185            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 62, __FILE__, __LINE__, true);
     186              :     return _r;
     187              :   }
     188              : next_after_fail89:;
     189              :   return NULL_TREE;
     190              : }
     191              : 
     192              : tree
     193            0 : generic_simplify_23 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     194              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     195              :  const enum tree_code ARG_UNUSED (op))
     196              : {
     197            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     198            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail98;
     199            0 :   {
     200            0 :     tree res_op0;
     201            0 :     res_op0 = captures[0];
     202            0 :     tree res_op1;
     203            0 :     res_op1 = captures[1];
     204            0 :     tree _r;
     205            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     206            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 71, __FILE__, __LINE__, true);
     207              :     return _r;
     208              :   }
     209            0 : next_after_fail98:;
     210            0 :   return NULL_TREE;
     211              : }
     212              : 
     213              : tree
     214          390 : generic_simplify_30 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     215              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     216              :  const enum tree_code ARG_UNUSED (op),
     217              :  const enum tree_code ARG_UNUSED (rop))
     218              : {
     219          390 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     220          390 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     221          390 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     222              : )
     223              :     {
     224          390 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail105;
     225          390 :       {
     226          390 :         tree res_op0;
     227          390 :         {
     228          390 :           tree _o1[1], _r1;
     229          390 :           _o1[0] = captures[0];
     230          390 :           if (TREE_TYPE (_o1[0]) != type)
     231              :             {
     232            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     233              :             }
     234              :           else
     235              :             _r1 = _o1[0];
     236          390 :           res_op0 = _r1;
     237              :         }
     238          390 :         tree res_op1;
     239          390 :         {
     240          390 :           tree _o1[2], _r1;
     241          390 :           {
     242          390 :             tree _o2[1], _r2;
     243          390 :             _o2[0] = captures[1];
     244          390 :             if (TREE_TYPE (_o2[0]) != type)
     245              :               {
     246            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     247              :               }
     248              :             else
     249              :               _r2 = _o2[0];
     250          390 :             _o1[0] = _r2;
     251              :           }
     252          390 :           {
     253          390 :             tree _o2[1], _r2;
     254          390 :             _o2[0] = captures[2];
     255          390 :             if (TREE_TYPE (_o2[0]) != type)
     256              :               {
     257            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     258              :               }
     259              :             else
     260              :               _r2 = _o2[0];
     261          390 :             _o1[1] = _r2;
     262              :           }
     263          390 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     264          390 :           res_op1 = _r1;
     265              :         }
     266          390 :         tree _r;
     267          390 :         _r = fold_build2_loc (loc, rop, type, res_op0, res_op1);
     268          390 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 78, __FILE__, __LINE__, true);
     269          390 :         return _r;
     270              :       }
     271            0 : next_after_fail105:;
     272              :     }
     273              :   return NULL_TREE;
     274              : }
     275              : 
     276              : tree
     277            0 : generic_simplify_42 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     278              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     279              :  const enum tree_code ARG_UNUSED (op))
     280              : {
     281            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     282            0 :   if (INTEGRAL_TYPE_P (type)
     283            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[2])) == 0
     284              : )
     285              :     {
     286            0 :       {
     287            0 :  tree t = type;
     288            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     289            0 :  t = unsigned_type_for (t);
     290            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), 1);
     291            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail119;
     292            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail119;
     293            0 :           {
     294            0 :             tree res_op0;
     295            0 :             {
     296            0 :               tree _o1[2], _r1;
     297            0 :               {
     298            0 :                 tree _o2[1], _r2;
     299            0 :                 _o2[0] = captures[2];
     300            0 :                 if (TREE_TYPE (_o2[0]) != t)
     301              :                   {
     302            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     303              :                   }
     304              :                 else
     305              :                   _r2 = _o2[0];
     306            0 :                 _o1[0] = _r2;
     307              :               }
     308            0 :               _o1[1] =  wide_int_to_tree (t, c);
     309            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     310            0 :               res_op0 = _r1;
     311              :             }
     312            0 :             tree _r;
     313            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     314            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 90, __FILE__, __LINE__, true);
     315            0 :             return _r;
     316              :           }
     317            0 : next_after_fail119:;
     318            0 :       }
     319              :     }
     320              :   return NULL_TREE;
     321              : }
     322              : 
     323              : tree
     324           64 : generic_simplify_50 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     325              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     326              :  const enum tree_code ARG_UNUSED (cmp),
     327              :  const enum tree_code ARG_UNUSED (icmp),
     328              :  const enum tree_code ARG_UNUSED (ncmp))
     329              : {
     330           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     331           64 :   {
     332           64 :  enum tree_code ic = invert_tree_comparison
     333           64 :  (cmp, HONOR_NANS (captures[0]));
     334           64 :       if (ic == icmp
     335              : )
     336              :         {
     337           64 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail128;
     338           64 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail128;
     339           64 :           {
     340           64 :             tree res_op0;
     341           64 :             res_op0 = captures[0];
     342           64 :             tree res_op1;
     343           64 :             res_op1 = captures[1];
     344           64 :             tree _r;
     345           64 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
     346           64 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 96, __FILE__, __LINE__, true);
     347           64 :             return _r;
     348              :           }
     349              : next_after_fail128:;
     350              :         }
     351              :       else
     352              :         {
     353            0 :           if (ic == ncmp
     354              : )
     355              :             {
     356            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail129;
     357            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail129;
     358            0 :               {
     359            0 :                 tree res_op0;
     360            0 :                 res_op0 = captures[0];
     361            0 :                 tree res_op1;
     362            0 :                 res_op1 = captures[1];
     363            0 :                 tree _r;
     364            0 :                 _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
     365            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 97, __FILE__, __LINE__, true);
     366            0 :                 return _r;
     367              :               }
     368              : next_after_fail129:;
     369              :             }
     370              :         }
     371              :   }
     372              :   return NULL_TREE;
     373              : }
     374              : 
     375              : tree
     376       241875 : generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     377              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     378              :  const enum tree_code ARG_UNUSED (outer_op))
     379              : {
     380       241875 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     381       241875 :   if (!TYPE_SATURATING (type)
     382              : )
     383              :     {
     384       241875 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     385       483743 :  && !FIXED_POINT_TYPE_P (type)
     386              : )
     387              :         {
     388       241868 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     389              : )
     390              :             {
     391       228548 :               if (!CONSTANT_CLASS_P (captures[1])
     392              : )
     393              :                 {
     394       228548 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail151;
     395       228548 :                   {
     396       228548 :                     tree res_op0;
     397       228548 :                     {
     398       228548 :                       tree _o1[2], _r1;
     399       228548 :                       {
     400       228548 :                         tree _o2[1], _r2;
     401       228548 :                         _o2[0] = captures[0];
     402       228548 :                         if (TREE_TYPE (_o2[0]) != type)
     403              :                           {
     404         3344 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     405              :                           }
     406              :                         else
     407              :                           _r2 = _o2[0];
     408       228548 :                         _o1[0] = _r2;
     409              :                       }
     410       228548 :                       _o1[1] = captures[2];
     411       228548 :                       _r1 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     412       228548 :                       if (EXPR_P (_r1))
     413            0 :                         goto next_after_fail151;
     414       228548 :                       res_op0 = _r1;
     415              :                     }
     416       228548 :                     tree res_op1;
     417       228548 :                     {
     418       228548 :                       tree _o1[1], _r1;
     419       228548 :                       _o1[0] = captures[1];
     420       228548 :                       if (TREE_TYPE (_o1[0]) != type)
     421              :                         {
     422         3367 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     423              :                         }
     424              :                       else
     425              :                         _r1 = _o1[0];
     426       228548 :                       res_op1 = _r1;
     427              :                     }
     428       228548 :                     tree _r;
     429       228548 :                     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     430       228548 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 119, __FILE__, __LINE__, true);
     431       228548 :                     return _r;
     432              :                   }
     433              : next_after_fail151:;
     434              :                 }
     435              :             }
     436              :           else
     437              :             {
     438        26640 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     439        26640 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     440              : )
     441              :                 {
     442         2321 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail152;
     443         2321 :                   {
     444         2321 :                     tree res_op0;
     445         2321 :                     {
     446         2321 :                       tree _o1[2], _r1;
     447         2321 :                       {
     448         2321 :                         tree _o2[2], _r2;
     449         2321 :                         _o2[0] = captures[0];
     450         2321 :                         {
     451         2321 :                           tree _o3[1], _r3;
     452         2321 :                           _o3[0] = captures[2];
     453         2321 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     454              :                             {
     455         2321 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     456              :                             }
     457              :                           else
     458              :                             _r3 = _o3[0];
     459         2321 :                           _o2[1] = _r3;
     460              :                         }
     461         2321 :                         _r2 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     462         2321 :                         if (EXPR_P (_r2))
     463            0 :                           goto next_after_fail152;
     464         2321 :                         _o1[0] = _r2;
     465              :                       }
     466         2321 :                       _o1[1] = captures[1];
     467         2321 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     468         2321 :                       res_op0 = _r1;
     469              :                     }
     470         2321 :                     tree _r;
     471         2321 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     472         2321 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 120, __FILE__, __LINE__, true);
     473         2321 :                     return _r;
     474              :                   }
     475              : next_after_fail152:;
     476              :                 }
     477              :               else
     478              :                 {
     479        10999 :                   if (types_match (type, captures[1]) && !TYPE_OVERFLOW_SANITIZED (type)
     480              : )
     481              :                     {
     482        10971 :                       {
     483        10971 :  tree cst = const_binop (outer_op, type, captures[0], captures[2]);
     484        10971 :                           if (cst && !TREE_OVERFLOW (cst)
     485              : )
     486              :                             {
     487        10964 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail153;
     488        10964 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail153;
     489        10964 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail153;
     490        10964 :                               {
     491        10964 :                                 tree res_op0;
     492        10964 :                                 res_op0 =  cst;
     493        10964 :                                 tree res_op1;
     494        10964 :                                 res_op1 = captures[1];
     495        10964 :                                 tree _r;
     496        10964 :                                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     497        10964 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 121, __FILE__, __LINE__, true);
     498        10964 :                                 return _r;
     499              :                               }
     500              : next_after_fail153:;
     501              :                             }
     502              :                       }
     503              :                     }
     504              :                 }
     505              :             }
     506              :         }
     507              :     }
     508              :   return NULL_TREE;
     509              : }
     510              : 
     511              : tree
     512            1 : generic_simplify_87 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     513              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     514              : {
     515            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     516            1 :   if (INTEGRAL_TYPE_P (type)
     517              : )
     518              :     {
     519            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail178;
     520            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail178;
     521            1 :       {
     522            1 :         tree res_op0;
     523            1 :         res_op0 = unshare_expr (captures[1]);
     524            1 :         tree res_op1;
     525            1 :         {
     526            1 :           tree _o1[2], _r1;
     527            1 :           _o1[0] = captures[4];
     528            1 :           _o1[1] = captures[1];
     529            1 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     530            1 :           res_op1 = _r1;
     531              :         }
     532            1 :         tree _r;
     533            1 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     534            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 146, __FILE__, __LINE__, true);
     535            1 :         return _r;
     536              :       }
     537              : next_after_fail178:;
     538              :     }
     539              :   return NULL_TREE;
     540              : }
     541              : 
     542              : tree
     543         2654 : generic_simplify_95 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     544              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     545              : {
     546         2654 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     547         2654 :   if (!TYPE_SATURATING (type)
     548              : )
     549              :     {
     550         2654 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     551         2654 :  && !TYPE_OVERFLOW_SANITIZED (type)
     552              : )
     553              :         {
     554           13 :           {
     555           13 :  tree t1 = type;
     556           13 :  if (INTEGRAL_TYPE_P (type)
     557           21 :  && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
     558            8 :  t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
     559           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail186;
     560           13 :               {
     561           13 :                 tree res_op0;
     562           13 :                 {
     563           13 :                   tree _o1[2], _r1;
     564           13 :                   {
     565           13 :                     tree _o2[1], _r2;
     566           13 :                     _o2[0] = captures[0];
     567           13 :                     if (TREE_TYPE (_o2[0]) != t1)
     568              :                       {
     569            8 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     570              :                       }
     571              :                     else
     572              :                       _r2 = _o2[0];
     573           13 :                     _o1[0] = _r2;
     574              :                   }
     575           13 :                   {
     576           13 :                     tree _o2[1], _r2;
     577           13 :                     _o2[0] = captures[1];
     578           13 :                     if (TREE_TYPE (_o2[0]) != t1)
     579              :                       {
     580            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     581              :                       }
     582              :                     else
     583              :                       _r2 = _o2[0];
     584           13 :                     _o1[1] = _r2;
     585              :                   }
     586           13 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     587           13 :                   res_op0 = _r1;
     588              :                 }
     589           13 :                 tree _r;
     590           13 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     591           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 153, __FILE__, __LINE__, true);
     592           13 :                 return _r;
     593              :               }
     594            0 : next_after_fail186:;
     595              :           }
     596              :         }
     597              :     }
     598              :   return NULL_TREE;
     599              : }
     600              : 
     601              : tree
     602            9 : generic_simplify_106 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     603              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     604              : {
     605            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     606            9 :   if (INTEGRAL_TYPE_P (type)
     607            9 :  && (
     608              : 
     609            9 :  || !TREE_SIDE_EFFECTS (captures[1]))
     610              : )
     611              :     {
     612            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail203;
     613            2 :       {
     614            2 :         tree res_op0;
     615            2 :         {
     616            2 :           tree _o1[1], _r1;
     617            2 :           _o1[0] = captures[2];
     618            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     619              :             {
     620            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     621              :             }
     622              :           else
     623              :             _r1 = _o1[0];
     624            2 :           res_op0 = _r1;
     625              :         }
     626            2 :         tree res_op1;
     627            2 :         res_op1 = captures[1];
     628            2 :         tree res_op2;
     629            2 :         res_op2 = captures[0];
     630            2 :         tree _r;
     631            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     632            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 170, __FILE__, __LINE__, true);
     633            2 :         return _r;
     634              :       }
     635            0 : next_after_fail203:;
     636              :     }
     637              :   return NULL_TREE;
     638              : }
     639              : 
     640              : tree
     641            0 : generic_simplify_112 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     642              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     643              :  const enum tree_code ARG_UNUSED (bitop),
     644              :  const enum tree_code ARG_UNUSED (cmp))
     645              : {
     646            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     647            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     648            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     649            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
     650              : )
     651              :     {
     652            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail209;
     653            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail209;
     654            0 :       {
     655            0 :         tree res_op0;
     656            0 :         {
     657            0 :           tree _o1[2], _r1;
     658            0 :           _o1[0] = captures[0];
     659            0 :           {
     660            0 :             tree _o2[1], _r2;
     661            0 :             _o2[0] = captures[2];
     662            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     663              :               {
     664            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     665              :               }
     666              :             else
     667              :               _r2 = _o2[0];
     668            0 :             _o1[1] = _r2;
     669              :           }
     670            0 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     671            0 :           res_op0 = _r1;
     672              :         }
     673            0 :         tree res_op1;
     674            0 :         res_op1 = captures[1];
     675            0 :         tree _r;
     676            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     677            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 176, __FILE__, __LINE__, true);
     678            0 :         return _r;
     679              :       }
     680              : next_after_fail209:;
     681              :     }
     682              :   return NULL_TREE;
     683              : }
     684              : 
     685              : tree
     686            8 : generic_simplify_123 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     687              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     688              : {
     689            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     690           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     691           16 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     692              : )
     693              :     {
     694            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail220;
     695            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail220;
     696            0 :       {
     697            0 :         tree _r;
     698            0 :         _r = captures[2];
     699            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 185, __FILE__, __LINE__, true);
     700            0 :         return _r;
     701              :       }
     702              : next_after_fail220:;
     703              :     }
     704              :   return NULL_TREE;
     705              : }
     706              : 
     707              : tree
     708            1 : generic_simplify_132 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     709              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     710              : {
     711            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     712            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail229;
     713            1 :   {
     714            1 :     tree res_op0;
     715            1 :     {
     716            1 :       tree _o1[2], _r1;
     717            1 :       _o1[0] = captures[1];
     718            1 :       _o1[1] = captures[2];
     719            1 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     720            1 :       res_op0 = _r1;
     721              :     }
     722            1 :     tree _r;
     723            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     724            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 191, __FILE__, __LINE__, true);
     725              :     return _r;
     726              :   }
     727            0 : next_after_fail229:;
     728            0 :   return NULL_TREE;
     729              : }
     730              : 
     731              : tree
     732            2 : generic_simplify_142 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     733              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     734              :  const enum tree_code ARG_UNUSED (bitop),
     735              :  const enum tree_code ARG_UNUSED (rbitop))
     736              : {
     737            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     738            2 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail243;
     739            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail243;
     740            2 :   {
     741            2 :     tree _r;
     742            2 :     _r = captures[2];
     743            2 :     if (TREE_SIDE_EFFECTS (captures[1]))
     744            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     745            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 197, __FILE__, __LINE__, true);
     746              :     return _r;
     747              :   }
     748              : next_after_fail243:;
     749              :   return NULL_TREE;
     750              : }
     751              : 
     752              : tree
     753          700 : generic_simplify_148 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     754              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     755              :  const enum tree_code ARG_UNUSED (op))
     756              : {
     757          700 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     758          700 :   if (bitwise_equal_p (captures[4], captures[7])
     759              : )
     760              :     {
     761           40 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail250;
     762           40 :       {
     763           40 :         tree res_op0;
     764           40 :         {
     765           40 :           tree _o1[2], _r1;
     766           40 :           {
     767           40 :             tree _o2[2], _r2;
     768           40 :             _o2[0] = captures[5];
     769           40 :             {
     770           40 :               tree _o3[1], _r3;
     771           40 :               _o3[0] = captures[6];
     772           40 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     773              :                 {
     774            0 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     775              :                 }
     776              :               else
     777              :                 _r3 = _o3[0];
     778           40 :               _o2[1] = _r3;
     779              :             }
     780           40 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     781           40 :             _o1[0] = _r2;
     782              :           }
     783           40 :           {
     784           40 :             tree _o2[1], _r2;
     785           40 :             _o2[0] = captures[4];
     786           40 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     787              :               {
     788            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     789              :               }
     790              :             else
     791              :               _r2 = _o2[0];
     792           40 :             _o1[1] = _r2;
     793              :           }
     794           40 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     795           40 :           res_op0 = _r1;
     796              :         }
     797           40 :         tree _r;
     798           40 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     799           40 :         if (TREE_SIDE_EFFECTS (captures[7]))
     800            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     801           40 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 201, __FILE__, __LINE__, true);
     802           40 :         return _r;
     803              :       }
     804            0 : next_after_fail250:;
     805              :     }
     806              :   return NULL_TREE;
     807              : }
     808              : 
     809              : tree
     810           31 : generic_simplify_159 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     811              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     812              :  const enum tree_code ARG_UNUSED (code2),
     813              :  const enum tree_code ARG_UNUSED (code1))
     814              : {
     815           31 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     816           31 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     817            7 :  && TREE_CODE (captures[4]) == INTEGER_CST)
     818           31 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     819           24 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     820            0 :  && operand_equal_p (captures[2], captures[4]))
     821              : )
     822              :     {
     823            7 :       {
     824            7 :  int cmp = 0;
     825            7 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     826            7 :  && TREE_CODE (captures[4]) == INTEGER_CST)
     827            7 :  cmp = tree_int_cst_compare (captures[2], captures[4]);
     828            7 :           if ((code1 == LT_EXPR || code1 == LE_EXPR)
     829            7 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
     830              : )
     831              :             {
     832            7 :               if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
     833              : )
     834              :                 {
     835            7 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail276;
     836            7 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail276;
     837            7 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail276;
     838            7 :                   {
     839            7 :                     tree _r;
     840            7 :                     _r = captures[3];
     841            7 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
     842            7 :                     return _r;
     843              :                   }
     844              : next_after_fail276:;
     845              :                 }
     846              :               else
     847              :                 {
     848            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail277;
     849            0 :                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail277;
     850            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail277;
     851            0 :                   {
     852            0 :                     tree _r;
     853            0 :                     _r = captures[0];
     854            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 219, __FILE__, __LINE__, true);
     855            0 :                     return _r;
     856              :                   }
     857              : next_after_fail277:;
     858              :                 }
     859              :             }
     860              :           else
     861              :             {
     862            0 :               if ((code1 == GT_EXPR || code1 == GE_EXPR)
     863            0 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
     864              : )
     865              :                 {
     866            0 :                   if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
     867              : )
     868              :                     {
     869            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail278;
     870            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail278;
     871            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail278;
     872            0 :                       {
     873            0 :                         tree _r;
     874            0 :                         _r = captures[3];
     875            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 220, __FILE__, __LINE__, true);
     876            0 :                         return _r;
     877              :                       }
     878              : next_after_fail278:;
     879              :                     }
     880              :                   else
     881              :                     {
     882            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail279;
     883            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail279;
     884            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail279;
     885            0 :                       {
     886            0 :                         tree _r;
     887            0 :                         _r = captures[0];
     888            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 221, __FILE__, __LINE__, true);
     889            0 :                         return _r;
     890              :                       }
     891              : next_after_fail279:;
     892              :                     }
     893              :                 }
     894              :               else
     895              :                 {
     896            0 :                   if (cmp == 0
     897            0 :  && ((code1 == LT_EXPR && code2 == GT_EXPR)
     898            0 :  || (code1 == GT_EXPR && code2 == LT_EXPR))
     899              : )
     900              :                     {
     901            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail280;
     902            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail280;
     903            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail280;
     904            0 :                       {
     905            0 :                         tree res_op0;
     906            0 :                         res_op0 = captures[1];
     907            0 :                         tree res_op1;
     908            0 :                         res_op1 = captures[4];
     909            0 :                         tree _r;
     910            0 :                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
     911            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 222, __FILE__, __LINE__, true);
     912            0 :                         return _r;
     913              :                       }
     914              : next_after_fail280:;
     915              :                     }
     916              :                   else
     917              :                     {
     918            0 :                       if (cmp >= 0
     919            0 :  && (code1 == LT_EXPR || code1 == LE_EXPR)
     920            0 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
     921              : )
     922              :                         {
     923            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail281;
     924            0 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail281;
     925            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail281;
     926            0 :                           {
     927            0 :                             tree _r;
     928            0 :                             _r =  constant_boolean_node (true, type);
     929            0 :                             if (TREE_SIDE_EFFECTS (captures[1]))
     930            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     931            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 223, __FILE__, __LINE__, true);
     932            0 :                             return _r;
     933              :                           }
     934              : next_after_fail281:;
     935              :                         }
     936              :                       else
     937              :                         {
     938            0 :                           if (cmp <= 0
     939            0 :  && (code1 == GT_EXPR || code1 == GE_EXPR)
     940            0 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
     941              : )
     942              :                             {
     943            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail282;
     944            0 :                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail282;
     945            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail282;
     946            0 :                               {
     947            0 :                                 tree _r;
     948            0 :                                 _r =  constant_boolean_node (true, type);
     949            0 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
     950            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     951            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 224, __FILE__, __LINE__, true);
     952            0 :                                 return _r;
     953              :                               }
     954              : next_after_fail282:;
     955              :                             }
     956              :                         }
     957              :                     }
     958              :                 }
     959              :             }
     960              :       }
     961              :     }
     962              :   return NULL_TREE;
     963              : }
     964              : 
     965              : tree
     966           14 : generic_simplify_191 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     967              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     968              : {
     969           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     970           14 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     971           14 :  && wi::ltu_p (wi::to_widest (captures[1]), TYPE_PRECISION (type))
     972              : )
     973              :     {
     974           14 :       {
     975           14 :  unsigned int shift = tree_to_uhwi (captures[1]);
     976           14 :  unsigned int prec = TYPE_PRECISION (type);
     977           14 :           if ((prec <= TYPE_PRECISION (TREE_TYPE (captures[2])) + shift
     978            0 :  || tree_int_cst_sgn (captures[2]) >= 0)
     979           28 :  && wi::to_wide (captures[3]) == wi::set_bit_in_zero (shift, prec)
     980              : )
     981              :             {
     982            6 :               {
     983            6 :  auto mask = wide_int::from (wi::to_wide (captures[2]), prec, UNSIGNED);
     984            6 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail330;
     985            6 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail330;
     986            6 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail330;
     987            6 :                   {
     988            6 :                     tree res_op0;
     989            6 :                     {
     990            6 :                       tree _o1[1], _r1;
     991            6 :                       _o1[0] = captures[0];
     992            6 :                       if (TREE_TYPE (_o1[0]) != type)
     993              :                         {
     994            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     995              :                         }
     996              :                       else
     997              :                         _r1 = _o1[0];
     998            6 :                       res_op0 = _r1;
     999              :                     }
    1000            6 :                     tree res_op1;
    1001            6 :                     res_op1 =  wide_int_to_tree (type, mask << shift);
    1002            6 :                     tree _r;
    1003            6 :                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    1004            6 :                     if (TREE_SIDE_EFFECTS (captures[3]))
    1005            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1006            6 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 245, __FILE__, __LINE__, true);
    1007            6 :                     return _r;
    1008              :                   }
    1009            0 : next_after_fail330:;
    1010            6 :               }
    1011              :             }
    1012              :       }
    1013              :     }
    1014              :   return NULL_TREE;
    1015              : }
    1016              : 
    1017              : tree
    1018            9 : generic_simplify_199 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1019              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1020              :  const combined_fn ARG_UNUSED (LDEXP))
    1021              : {
    1022            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1023            9 :   if (flag_unsafe_math_optimizations
    1024              : )
    1025              :     {
    1026            9 :       if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst1)
    1027              : )
    1028              :         {
    1029            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail339;
    1030            9 :           {
    1031            9 :             tree res_op0;
    1032            9 :             res_op0 = captures[0];
    1033            9 :             tree res_op1;
    1034            9 :             res_op1 = captures[2];
    1035            9 :             tree _r;
    1036            9 :             _r = maybe_build_call_expr_loc (loc, LDEXP, type, 2, res_op0, res_op1);
    1037            9 :             if (!_r)
    1038            0 :               goto next_after_fail339;
    1039            9 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1040            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1041            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 254, __FILE__, __LINE__, true);
    1042            9 :             return _r;
    1043              :           }
    1044              : next_after_fail339:;
    1045              :         }
    1046              :     }
    1047              :   return NULL_TREE;
    1048              : }
    1049              : 
    1050              : tree
    1051          169 : generic_simplify_206 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1052              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1053              :  const enum tree_code ARG_UNUSED (op))
    1054              : {
    1055          169 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1056          338 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1057          338 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
    1058          169 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
    1059              :  && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
    1060          169 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1061          507 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    1062              : )
    1063              :     {
    1064          169 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail346;
    1065          169 :       {
    1066          169 :         tree res_op0;
    1067          169 :         res_op0 = captures[2];
    1068          169 :         tree res_op1;
    1069          169 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1070          169 :         tree _r;
    1071          169 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1072          169 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1073            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1074          169 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 261, __FILE__, __LINE__, true);
    1075          169 :         return _r;
    1076              :       }
    1077            0 : next_after_fail346:;
    1078              :     }
    1079              :   return NULL_TREE;
    1080              : }
    1081              : 
    1082              : tree
    1083        11685 : generic_simplify_218 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1084              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1085              :  const enum tree_code ARG_UNUSED (op))
    1086              : {
    1087        11685 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1088        11685 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1089        11685 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1090        11685 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1091              : )
    1092              :     {
    1093        11685 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail374;
    1094        11685 :       {
    1095        11685 :         tree res_op0;
    1096        11685 :         res_op0 = captures[3];
    1097        11685 :         tree res_op1;
    1098        11685 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1099        11685 :         tree _r;
    1100        11685 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1101        11685 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1102            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1103        11685 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 288, __FILE__, __LINE__, true);
    1104        11685 :         return _r;
    1105              :       }
    1106            0 : next_after_fail374:;
    1107              :     }
    1108              :   return NULL_TREE;
    1109              : }
    1110              : 
    1111              : tree
    1112         1366 : generic_simplify_225 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1113              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1114              :  const enum tree_code ARG_UNUSED (cmp),
    1115              :  const enum tree_code ARG_UNUSED (ocmp))
    1116              : {
    1117         1366 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1118         1366 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1119          374 :  && TREE_CODE (TREE_TYPE (captures[0])) != COMPLEX_TYPE
    1120         1718 :  && (VECTOR_TYPE_P (type) || !VECTOR_TYPE_P (TREE_TYPE (captures[0])))
    1121              : )
    1122              :     {
    1123          352 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail381;
    1124          352 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail381;
    1125          352 :       {
    1126          352 :         tree res_op0;
    1127          352 :         res_op0 = captures[0];
    1128          352 :         tree res_op1;
    1129          352 :         res_op1 = captures[1];
    1130          352 :         tree _r;
    1131          352 :         _r = fold_build2_loc (loc, ocmp, type, res_op0, res_op1);
    1132          352 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 294, __FILE__, __LINE__, true);
    1133          352 :         return _r;
    1134              :       }
    1135              : next_after_fail381:;
    1136              :     }
    1137              :   return NULL_TREE;
    1138              : }
    1139              : 
    1140              : tree
    1141            6 : generic_simplify_233 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1142              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1143              :  const enum tree_code ARG_UNUSED (cmp),
    1144              :  const enum tree_code ARG_UNUSED (icmp))
    1145              : {
    1146            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1147            6 :   {
    1148            6 :  int c1 = wi::clz (wi::to_wide (captures[0]));
    1149            6 :  int c2 = wi::clz (wi::to_wide (captures[2]));
    1150            6 :       if (c1 < c2
    1151              : )
    1152              :         {
    1153            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail391;
    1154            0 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail391;
    1155            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail391;
    1156            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail391;
    1157            0 :           {
    1158            0 :             tree _r;
    1159            0 :             _r =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
    1160            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1161            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1162            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 304, __FILE__, __LINE__, true);
    1163            0 :             return _r;
    1164              :           }
    1165              : next_after_fail391:;
    1166              :         }
    1167              :       else
    1168              :         {
    1169            6 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail392;
    1170            6 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail392;
    1171            6 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail392;
    1172            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail392;
    1173            6 :           {
    1174            6 :             tree res_op0;
    1175            6 :             res_op0 = captures[1];
    1176            6 :             tree res_op1;
    1177            6 :             res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c1 - c2);
    1178            6 :             tree _r;
    1179            6 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1180            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 305, __FILE__, __LINE__, true);
    1181            6 :             return _r;
    1182              :           }
    1183              : next_after_fail392:;
    1184              :         }
    1185              :   }
    1186              :   return NULL_TREE;
    1187              : }
    1188              : 
    1189              : tree
    1190           14 : generic_simplify_243 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1191              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1192              :  const enum tree_code ARG_UNUSED (cmp),
    1193              :  const combined_fn ARG_UNUSED (bswap))
    1194              : {
    1195           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1196           14 :   {
    1197           14 :  tree ctype = TREE_TYPE (captures[0]);
    1198           14 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail411;
    1199           14 :       {
    1200           14 :         tree res_op0;
    1201           14 :         {
    1202           14 :           tree _o1[1], _r1;
    1203           14 :           _o1[0] = captures[1];
    1204           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1205              :             {
    1206            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1207              :             }
    1208              :           else
    1209              :             _r1 = _o1[0];
    1210           14 :           res_op0 = _r1;
    1211              :         }
    1212           14 :         tree res_op1;
    1213           14 :         {
    1214           14 :           tree _o1[1], _r1;
    1215           14 :           _o1[0] = captures[2];
    1216           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1217              :             {
    1218            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1219              :             }
    1220              :           else
    1221              :             _r1 = _o1[0];
    1222           14 :           res_op1 = _r1;
    1223              :         }
    1224           14 :         tree _r;
    1225           14 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1226           14 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 324, __FILE__, __LINE__, true);
    1227              :         return _r;
    1228              :       }
    1229            0 : next_after_fail411:;
    1230              :   }
    1231            0 :   return NULL_TREE;
    1232              : }
    1233              : 
    1234              : tree
    1235       133289 : generic_simplify_251 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1236              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1237              :  const enum tree_code ARG_UNUSED (cmp))
    1238              : {
    1239       133289 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1240       261768 :   if (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1241       133555 :  || ! tree_expr_maybe_nan_p (captures[0])
    1242              : )
    1243              :     {
    1244       128287 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail424;
    1245       128287 :       {
    1246       128287 :         tree _r;
    1247       128287 :         _r =  constant_boolean_node (true, type);
    1248       128287 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1249            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1250       128287 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 336, __FILE__, __LINE__, true);
    1251       128287 :         return _r;
    1252              :       }
    1253            0 : next_after_fail424:;
    1254              :     }
    1255              :   else
    1256              :     {
    1257         5002 :       if (cmp != EQ_EXPR
    1258         5002 :  && (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1259           79 :  || ! flag_trapping_math)
    1260              : )
    1261              :         {
    1262            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail425;
    1263            0 :           {
    1264            0 :             tree res_op0;
    1265            0 :             res_op0 = unshare_expr (captures[0]);
    1266            0 :             tree res_op1;
    1267            0 :             res_op1 = captures[0];
    1268            0 :             tree _r;
    1269            0 :             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1270            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 337, __FILE__, __LINE__, true);
    1271            0 :             return _r;
    1272              :           }
    1273            0 : next_after_fail425:;
    1274              :         }
    1275              :     }
    1276              :   return NULL_TREE;
    1277              : }
    1278              : 
    1279              : tree
    1280        19110 : generic_simplify_258 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1281              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1282              :  const enum tree_code ARG_UNUSED (cmp))
    1283              : {
    1284        19110 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1285        19110 :   if (flag_associative_math
    1286              : )
    1287              :     {
    1288           13 :       {
    1289           13 :  tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
    1290           13 :           if (tem && !TREE_OVERFLOW (tem)
    1291              : )
    1292              :             {
    1293           13 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail446;
    1294           13 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail446;
    1295           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail446;
    1296           13 :               {
    1297           13 :                 tree res_op0;
    1298           13 :                 res_op0 =  tem;
    1299           13 :                 tree res_op1;
    1300           13 :                 res_op1 = captures[1];
    1301           13 :                 tree _r;
    1302           13 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1303           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 357, __FILE__, __LINE__, true);
    1304           13 :                 return _r;
    1305              :               }
    1306              : next_after_fail446:;
    1307              :             }
    1308              :       }
    1309              :     }
    1310              :   return NULL_TREE;
    1311              : }
    1312              : 
    1313              : tree
    1314           59 : generic_simplify_264 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1315              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1316              :  const enum tree_code ARG_UNUSED (cmp),
    1317              :  const enum tree_code ARG_UNUSED (scmp))
    1318              : {
    1319           59 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1320           96 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1321           96 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1322           37 :  && (cmp == EQ_EXPR
    1323           37 :  || cmp == NE_EXPR
    1324           36 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1325              : )
    1326              :     {
    1327           23 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail479;
    1328           23 :       {
    1329           23 :         tree res_op0;
    1330           23 :         res_op0 = captures[0];
    1331           23 :         tree res_op1;
    1332           23 :         res_op1 = captures[1];
    1333           23 :         tree _r;
    1334           23 :         _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1335           23 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 390, __FILE__, __LINE__, true);
    1336           23 :         return _r;
    1337              :       }
    1338            0 : next_after_fail479:;
    1339              :     }
    1340              :   return NULL_TREE;
    1341              : }
    1342              : 
    1343              : tree
    1344     17819552 : generic_simplify_267 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1345              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1346              :  const enum tree_code ARG_UNUSED (cmp))
    1347              : {
    1348     17819552 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1349     35378177 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1350     11641271 :  && !(targetm.have_canonicalize_funcptr_for_compare ()
    1351            0 :  && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1352            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
    1353            0 :  || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
    1354            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
    1355     17819552 :  && single_use (captures[0])
    1356              : )
    1357              :     {
    1358     11641271 :       if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    1359      5045158 :  && (TREE_CODE (captures[3]) == INTEGER_CST
    1360      1864846 :  || captures[2] != captures[3])
    1361      3180312 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1362              :  || cmp == NE_EXPR
    1363      1467968 :  || cmp == EQ_EXPR)
    1364      2171873 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1365     13781361 :  && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
    1366         1672 :  || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
    1367              : )
    1368              :         {
    1369      2140062 :           if (TREE_CODE (captures[2]) == INTEGER_CST
    1370              : )
    1371              :             {
    1372      2140062 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail489;
    1373      2140062 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail489;
    1374      2140062 :               {
    1375      2140062 :                 tree res_op0;
    1376      2140062 :                 res_op0 = captures[1];
    1377      2140062 :                 tree res_op1;
    1378      2140062 :                 res_op1 =  force_fit_type (TREE_TYPE (captures[1]),
    1379      2140062 :  wide_int::from (wi::to_wide (captures[2]),
    1380      2140062 :  MAX (TYPE_PRECISION (TREE_TYPE (captures[2])),
    1381              :  TYPE_PRECISION (TREE_TYPE (captures[1]))),
    1382      2140062 :  TYPE_SIGN (TREE_TYPE (captures[2]))),
    1383      2140062 :  0, TREE_OVERFLOW (captures[2]));
    1384      2140062 :                 tree _r;
    1385      2140062 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1386      2140062 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 392, __FILE__, __LINE__, true);
    1387      2140062 :                 return _r;
    1388              :               }
    1389              : next_after_fail489:;
    1390              :             }
    1391              :           else
    1392              :             {
    1393            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail490;
    1394            0 :               {
    1395            0 :                 tree res_op0;
    1396            0 :                 res_op0 = captures[1];
    1397            0 :                 tree res_op1;
    1398            0 :                 {
    1399            0 :                   tree _o1[1], _r1;
    1400            0 :                   _o1[0] = captures[2];
    1401            0 :                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1402              :                     {
    1403            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1404              :                     }
    1405              :                   else
    1406              :                     _r1 = _o1[0];
    1407            0 :                   res_op1 = _r1;
    1408              :                 }
    1409            0 :                 tree _r;
    1410            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1411            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 393, __FILE__, __LINE__, true);
    1412            0 :                 return _r;
    1413              :               }
    1414            0 : next_after_fail490:;
    1415              :             }
    1416              :         }
    1417              :       else
    1418              :         {
    1419      9501209 :           if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1420              : )
    1421              :             {
    1422      5649436 :               if ((cmp == EQ_EXPR || cmp == NE_EXPR
    1423      2956142 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1424       397372 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1425       313598 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    1426      8521804 :  && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
    1427      5565644 :  || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
    1428      5565644 :  >= TYPE_PRECISION (TREE_TYPE (captures[3])))
    1429            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1430            0 :  == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    1431      5565644 :  || (TREE_CODE (captures[2]) == INTEGER_CST
    1432      4465928 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1433      4465928 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
    1434              : )
    1435              :                 {
    1436      4431110 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail491;
    1437      4431110 :                   {
    1438      4431110 :                     tree res_op0;
    1439      4431110 :                     res_op0 = captures[1];
    1440      4431110 :                     tree res_op1;
    1441      4431110 :                     {
    1442      4431110 :                       tree _o1[1], _r1;
    1443      4431110 :                       _o1[0] = captures[3];
    1444      4431110 :                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1445              :                         {
    1446      4431092 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1447              :                         }
    1448              :                       else
    1449              :                         _r1 = _o1[0];
    1450      4431110 :                       res_op1 = _r1;
    1451              :                     }
    1452      4431110 :                     tree _r;
    1453      4431110 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1454      4431110 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 394, __FILE__, __LINE__, true);
    1455      4431110 :                     return _r;
    1456              :                   }
    1457            0 : next_after_fail491:;
    1458              :                 }
    1459              :               else
    1460              :                 {
    1461      1218326 :                   if (TREE_CODE (captures[2]) == INTEGER_CST
    1462        83164 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1463      1301490 :  && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    1464              : )
    1465              :                     {
    1466        38259 :                       {
    1467        38259 :  tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1468        38259 :  tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1469        38259 :  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
    1470        38259 :  bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
    1471        38259 :                           if (above || below
    1472              : )
    1473              :                             {
    1474        32106 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1475              : )
    1476              :                                 {
    1477        27507 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail492;
    1478        27507 :                                   {
    1479        27507 :                                     tree _r;
    1480        27507 :                                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    1481        27507 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1482           10 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1483        27507 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    1484            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1485        27507 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1486        27507 :                                     return _r;
    1487              :                                   }
    1488            0 : next_after_fail492:;
    1489              :                                 }
    1490              :                               else
    1491              :                                 {
    1492         4599 :                                   if (cmp == LT_EXPR || cmp == LE_EXPR
    1493              : )
    1494              :                                     {
    1495         3922 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail493;
    1496         3922 :                                       {
    1497         3922 :                                         tree _r;
    1498         3922 :                                         _r =  constant_boolean_node (above ? true : false, type);
    1499         3922 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1500           10 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1501         3922 :                                         if (TREE_SIDE_EFFECTS (captures[2]))
    1502            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1503         3922 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1504         3922 :                                         return _r;
    1505              :                                       }
    1506            0 : next_after_fail493:;
    1507              :                                     }
    1508              :                                   else
    1509              :                                     {
    1510          677 :                                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1511              : )
    1512              :                                         {
    1513          677 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail494;
    1514          677 :                                           {
    1515          677 :                                             tree _r;
    1516          931 :                                             _r =  constant_boolean_node (above ? false : true, type);
    1517          677 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1518            4 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1519          677 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    1520            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1521          677 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
    1522          677 :                                             return _r;
    1523              :                                           }
    1524            0 : next_after_fail494:;
    1525              :                                         }
    1526              :                                     }
    1527              :                                 }
    1528              :                             }
    1529              :                       }
    1530              :                     }
    1531              :                 }
    1532              :             }
    1533              :           else
    1534              :             {
    1535      7700759 :               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1536      3627098 :  && (TYPE_PRECISION (TREE_TYPE (captures[0]))
    1537      3627098 :  < TYPE_PRECISION (TREE_TYPE (captures[1])))
    1538       946591 :  && (cmp == EQ_EXPR || cmp == NE_EXPR)
    1539      4480711 :  && types_match (TREE_TYPE (captures[1]),
    1540       628938 :  TREE_TYPE (captures[3]))
    1541              : )
    1542              :                 {
    1543            0 :                   {
    1544            0 :  tree itype = TREE_TYPE (captures[0]);
    1545            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail495;
    1546            0 :                       {
    1547            0 :                         tree res_op0;
    1548            0 :                         {
    1549            0 :                           tree _o1[1], _r1;
    1550            0 :                           {
    1551            0 :                             tree _o2[2], _r2;
    1552            0 :                             _o2[0] = captures[1];
    1553            0 :                             _o2[1] = captures[3];
    1554            0 :                             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1555            0 :                             _o1[0] = _r2;
    1556              :                           }
    1557            0 :                           if (TREE_TYPE (_o1[0]) != itype)
    1558              :                             {
    1559            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    1560              :                             }
    1561              :                           else
    1562              :                             _r1 = _o1[0];
    1563            0 :                           res_op0 = _r1;
    1564              :                         }
    1565            0 :                         tree res_op1;
    1566            0 :                         res_op1 =  build_zero_cst (itype);
    1567            0 :                         tree _r;
    1568            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1569            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 398, __FILE__, __LINE__, true);
    1570            0 :                         return _r;
    1571              :                       }
    1572            0 : next_after_fail495:;
    1573              :                   }
    1574              :                 }
    1575              :             }
    1576              :         }
    1577              :     }
    1578              :   else
    1579              :     {
    1580     11822677 :       if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1581      1094766 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1582       547383 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
    1583      7272809 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1584       547264 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
    1585              : )
    1586              :         {
    1587       547264 :           {
    1588       547264 :  tree type1 = TREE_TYPE (captures[3]);
    1589       547264 :  if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
    1590              :  {
    1591       343967 :  REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
    1592       343967 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
    1593       343967 :  && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
    1594       177476 :  type1 = float_type_node;
    1595       343967 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
    1596       343967 :  && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
    1597          292 :  type1 = double_type_node;
    1598              :  }
    1599       547264 :  tree newtype
    1600       547264 :  = (element_precision (TREE_TYPE (captures[1])) > element_precision (type1)
    1601       547264 :  ? TREE_TYPE (captures[1]) : type1);
    1602       547264 :               if (element_precision (TREE_TYPE (captures[0])) > element_precision (newtype)
    1603       547264 :  && (!VECTOR_TYPE_P (type) || is_truth_type_for (newtype, type))
    1604              : )
    1605              :                 {
    1606        44604 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail496;
    1607        44604 :                   {
    1608        44604 :                     tree res_op0;
    1609        44604 :                     {
    1610        44604 :                       tree _o1[1], _r1;
    1611        44604 :                       _o1[0] = captures[1];
    1612        44604 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1613              :                         {
    1614        11436 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1615              :                         }
    1616              :                       else
    1617              :                         _r1 = _o1[0];
    1618        44604 :                       res_op0 = _r1;
    1619              :                     }
    1620        44604 :                     tree res_op1;
    1621        44604 :                     {
    1622        44604 :                       tree _o1[1], _r1;
    1623        44604 :                       _o1[0] = captures[3];
    1624        44604 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1625              :                         {
    1626        44604 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1627              :                         }
    1628              :                       else
    1629              :                         _r1 = _o1[0];
    1630        44604 :                       res_op1 = _r1;
    1631              :                     }
    1632        44604 :                     tree _r;
    1633        44604 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1634        44604 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 399, __FILE__, __LINE__, true);
    1635        44604 :                     return _r;
    1636              :                   }
    1637            0 : next_after_fail496:;
    1638              :                 }
    1639              :           }
    1640              :         }
    1641              :     }
    1642              :   return NULL_TREE;
    1643              : }
    1644              : 
    1645              : tree
    1646            0 : generic_simplify_299 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1647              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1648              :  const enum tree_code ARG_UNUSED (cmp))
    1649              : {
    1650            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1651            0 :   if (VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (captures[0])))
    1652            0 :  && can_compare_p (cmp == EQ_EXPR ? EQ : NE, TYPE_MODE (TREE_TYPE (captures[0])),
    1653              :  ccp_jump)
    1654              : )
    1655              :     {
    1656            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail564;
    1657            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail564;
    1658            0 :       {
    1659            0 :         tree res_op0;
    1660            0 :         res_op0 = captures[0];
    1661            0 :         tree res_op1;
    1662            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1663            0 :         tree _r;
    1664            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1665            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 457, __FILE__, __LINE__, true);
    1666            0 :         return _r;
    1667              :       }
    1668              : next_after_fail564:;
    1669              :     }
    1670              :   return NULL_TREE;
    1671              : }
    1672              : 
    1673              : tree
    1674            0 : generic_simplify_304 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1675              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1676              :  const combined_fn ARG_UNUSED (copysigns))
    1677              : {
    1678            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1679            0 :   if (!REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    1680              : )
    1681              :     {
    1682            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail570;
    1683            0 :       {
    1684            0 :         tree res_op0;
    1685            0 :         res_op0 = captures[0];
    1686            0 :         tree _r;
    1687            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1688            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1689            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1690            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 463, __FILE__, __LINE__, true);
    1691            0 :         return _r;
    1692              :       }
    1693            0 : next_after_fail570:;
    1694              :     }
    1695              :   return NULL_TREE;
    1696              : }
    1697              : 
    1698              : tree
    1699           23 : generic_simplify_310 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1700              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1701              :  const enum tree_code ARG_UNUSED (div))
    1702              : {
    1703           23 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1704           30 :   if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
    1705           16 :  && (!VECTOR_TYPE_P (type)
    1706            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_vector)
    1707            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_scalar))
    1708           39 :  && (useless_type_conversion_p (type, TREE_TYPE (captures[2]))
    1709            7 :  || (element_precision (type) >= element_precision (TREE_TYPE (captures[2]))
    1710            7 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    1711           14 :  || (element_precision (type)
    1712            7 :  == element_precision (TREE_TYPE (captures[2])))
    1713            7 :  || (INTEGRAL_TYPE_P (type)
    1714           14 :  && (tree_nonzero_bits (captures[0])
    1715           44 :  & wi::mask (element_precision (TREE_TYPE (captures[2])) - 1,
    1716              :  true,
    1717           37 :  element_precision (type))) == 0))))
    1718              : )
    1719              :     {
    1720            9 :       if (!VECTOR_TYPE_P (type)
    1721            9 :  && useless_type_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1722           18 :  && element_precision (TREE_TYPE (captures[1])) < element_precision (type)
    1723              : )
    1724              :         {
    1725            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail577;
    1726            0 :           {
    1727            0 :             tree res_op0;
    1728            0 :             {
    1729            0 :               tree _o1[2], _r1;
    1730            0 :               _o1[0] = captures[1];
    1731            0 :               _o1[1] = captures[3];
    1732            0 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1733            0 :               res_op0 = _r1;
    1734              :             }
    1735            0 :             tree _r;
    1736            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1737            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1738            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1739            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 468, __FILE__, __LINE__, true);
    1740            0 :             return _r;
    1741              :           }
    1742            0 : next_after_fail577:;
    1743              :         }
    1744              :       else
    1745              :         {
    1746            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail578;
    1747            9 :           {
    1748            9 :             tree res_op0;
    1749            9 :             res_op0 = captures[0];
    1750            9 :             tree res_op1;
    1751            9 :             res_op1 = captures[3];
    1752            9 :             tree _r;
    1753            9 :             _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1754            9 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1755            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1756            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 469, __FILE__, __LINE__, true);
    1757            9 :             return _r;
    1758              :           }
    1759            0 : next_after_fail578:;
    1760              :         }
    1761              :     }
    1762              :   return NULL_TREE;
    1763              : }
    1764              : 
    1765              : tree
    1766          227 : generic_simplify_326 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1767              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1768              :  const enum tree_code ARG_UNUSED (mod))
    1769              : {
    1770          227 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1771          227 :   if (!integer_zerop (captures[0])
    1772              : )
    1773              :     {
    1774           93 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail595;
    1775           93 :       {
    1776           93 :         tree _r;
    1777           93 :         _r =  build_zero_cst (type);
    1778           93 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1779            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1780           93 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 486, __FILE__, __LINE__, true);
    1781           93 :         return _r;
    1782              :       }
    1783            0 : next_after_fail595:;
    1784              :     }
    1785              :   return NULL_TREE;
    1786              : }
    1787              : 
    1788              : tree
    1789            3 : generic_simplify_336 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1790              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1791              :  const combined_fn ARG_UNUSED (TANH),
    1792              :  const combined_fn ARG_UNUSED (SINH),
    1793              :  const combined_fn ARG_UNUSED (COSH))
    1794              : {
    1795            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1796            3 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1797              : )
    1798              :     {
    1799            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail607;
    1800            3 :       {
    1801            3 :         tree res_op0;
    1802            3 :         res_op0 = build_one_cst (type);
    1803            3 :         tree res_op1;
    1804            3 :         {
    1805            3 :           tree _o1[1], _r1;
    1806            3 :           _o1[0] = captures[1];
    1807            3 :           _r1 = maybe_build_call_expr_loc (loc, COSH, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1808            3 :           if (!_r1)
    1809            0 :             goto next_after_fail607;
    1810            3 :           res_op1 = _r1;
    1811              :         }
    1812            3 :         tree _r;
    1813            3 :         _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1814            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 498, __FILE__, __LINE__, true);
    1815            3 :         return _r;
    1816              :       }
    1817              : next_after_fail607:;
    1818              :     }
    1819              :   return NULL_TREE;
    1820              : }
    1821              : 
    1822              : tree
    1823         7447 : generic_simplify_344 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1824              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1825              :  const enum tree_code ARG_UNUSED (cmp),
    1826              :  const enum tree_code ARG_UNUSED (op))
    1827              : {
    1828         7447 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1829         7447 :   {
    1830         7447 :  tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
    1831         7447 :       if (types_match (from_type, to_type)
    1832         7447 :  || (TYPE_UNSIGNED (from_type)
    1833           37 :  && !TYPE_UNSIGNED (to_type)
    1834           37 :  && TYPE_PRECISION (from_type) == TYPE_PRECISION (to_type)
    1835           37 :  && integer_zerop (captures[1])
    1836           31 :  && (cmp == LT_EXPR || cmp == GE_EXPR))
    1837              : )
    1838              :         {
    1839         7417 :           {
    1840         7417 :  wi::overflow_type overflow = wi::OVF_NONE;
    1841         7417 :  enum tree_code code, cmp_code = cmp;
    1842         7417 :  wide_int real_c1;
    1843         7417 :  wide_int c1 = wi::to_wide (captures[1]);
    1844         7417 :  wide_int c2 = wi::to_wide (captures[2]);
    1845         7417 :  wide_int c3 = wi::to_wide (captures[3]);
    1846         7417 :  signop sgn = TYPE_SIGN (from_type);
    1847         7417 :  if (!types_match (from_type, to_type))
    1848              :  {
    1849            7 :  if (cmp_code == LT_EXPR)
    1850              :  cmp_code = GT_EXPR;
    1851            0 :  if (cmp_code == GE_EXPR)
    1852            0 :  cmp_code = LE_EXPR;
    1853            7 :  c1 = wi::max_value (to_type);
    1854              :  }
    1855         7417 :  if (op == PLUS_EXPR)
    1856         7417 :  real_c1 = wi::sub (c3, c2, sgn, &overflow);
    1857              :  else
    1858            0 :  real_c1 = wi::add (c3, c2, sgn, &overflow);
    1859         7417 :  code = cmp_code;
    1860         7417 :  if (!overflow || !TYPE_OVERFLOW_UNDEFINED (from_type))
    1861              :  {
    1862        14834 :  if (!wi::cmp (wi::sub (real_c1, 1, sgn, &overflow), c1, sgn)
    1863         7417 :  && !overflow)
    1864              :  {
    1865          631 :  if (cmp_code == LE_EXPR)
    1866              :  code = LT_EXPR;
    1867          631 :  if (cmp_code == GT_EXPR)
    1868         7417 :  code = GE_EXPR;
    1869              :  }
    1870        14834 :  if (!wi::cmp (wi::add (real_c1, 1, sgn, &overflow), c1, sgn)
    1871         7417 :  && !overflow)
    1872              :  {
    1873         6353 :  if (cmp_code == LT_EXPR)
    1874              :  code = LE_EXPR;
    1875         6353 :  if (cmp_code == GE_EXPR)
    1876              :  code = GT_EXPR;
    1877              :  }
    1878         1081 :  if (code != cmp_code || !wi::cmp (real_c1, c1, sgn))
    1879              :  {
    1880         7194 :  if (cmp_code == LT_EXPR || cmp_code == LE_EXPR)
    1881              :  code = MIN_EXPR;
    1882         7194 :  if (cmp_code == GT_EXPR || cmp_code == GE_EXPR)
    1883              :  code = MAX_EXPR;
    1884              :  }
    1885              :  }
    1886          223 :               if (code == MAX_EXPR
    1887              : )
    1888              :                 {
    1889         7194 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail617;
    1890         7194 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail617;
    1891         7194 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail617;
    1892         7194 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail617;
    1893         7194 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail617;
    1894         7194 :                   {
    1895         7194 :                     tree res_op0;
    1896         7194 :                     {
    1897         7194 :                       tree _o1[2], _r1;
    1898         7194 :                       _o1[0] = captures[0];
    1899         7194 :                       _o1[1] =  wide_int_to_tree (from_type, real_c1);
    1900         7194 :                       _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1901         7194 :                       res_op0 = _r1;
    1902              :                     }
    1903         7194 :                     tree res_op1;
    1904         7194 :                     res_op1 =  wide_int_to_tree (from_type, c2);
    1905         7194 :                     tree _r;
    1906         7194 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1907         7194 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 508, __FILE__, __LINE__, true);
    1908         7194 :                     return _r;
    1909              :                   }
    1910          223 : next_after_fail617:;
    1911              :                 }
    1912              :               else
    1913              :                 {
    1914          223 :                   if (code == MIN_EXPR
    1915              : )
    1916              :                     {
    1917            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail618;
    1918            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail618;
    1919            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail618;
    1920            0 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail618;
    1921            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail618;
    1922            0 :                       {
    1923            0 :                         tree res_op0;
    1924            0 :                         {
    1925            0 :                           tree _o1[2], _r1;
    1926            0 :                           _o1[0] = captures[0];
    1927            0 :                           _o1[1] =  wide_int_to_tree (from_type, real_c1);
    1928            0 :                           _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1929            0 :                           res_op0 = _r1;
    1930              :                         }
    1931            0 :                         tree res_op1;
    1932            0 :                         res_op1 =  wide_int_to_tree (from_type, c2);
    1933            0 :                         tree _r;
    1934            0 :                         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1935            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 509, __FILE__, __LINE__, true);
    1936            0 :                         return _r;
    1937              :                       }
    1938          223 : next_after_fail618:;
    1939              :                     }
    1940              :                 }
    1941         7417 :           }
    1942              :         }
    1943              :   }
    1944              :   return NULL_TREE;
    1945              : }
    1946              : 
    1947              : tree
    1948           17 : generic_simplify_374 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1949              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1950              :  const enum tree_code ARG_UNUSED (cmp))
    1951              : {
    1952           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1953           17 :   if (INTEGRAL_TYPE_P (type)
    1954           17 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1955           17 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1956           34 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
    1957              : )
    1958              :     {
    1959           17 :       {
    1960           17 :  tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
    1961           17 :           if (cmp == GE_EXPR
    1962              : )
    1963              :             {
    1964            9 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail653;
    1965            9 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail653;
    1966            9 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail653;
    1967            9 :               {
    1968            9 :                 tree res_op0;
    1969            9 :                 {
    1970            9 :                   tree _o1[1], _r1;
    1971            9 :                   {
    1972            9 :                     tree _o2[2], _r2;
    1973            9 :                     _o2[0] = captures[0];
    1974            9 :                     _o2[1] = shifter;
    1975            9 :                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1976            9 :                     _o1[0] = _r2;
    1977              :                   }
    1978            9 :                   if (TREE_TYPE (_o1[0]) != type)
    1979              :                     {
    1980            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1981              :                     }
    1982              :                   else
    1983              :                     _r1 = _o1[0];
    1984            9 :                   res_op0 = _r1;
    1985              :                 }
    1986            9 :                 tree res_op1;
    1987            9 :                 res_op1 = captures[1];
    1988            9 :                 tree _r;
    1989            9 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1990            9 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 542, __FILE__, __LINE__, true);
    1991            9 :                 return _r;
    1992              :               }
    1993              : next_after_fail653:;
    1994              :             }
    1995              :           else
    1996              :             {
    1997            8 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail654;
    1998            8 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail654;
    1999            8 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail654;
    2000            8 :               {
    2001            8 :                 tree res_op0;
    2002            8 :                 {
    2003            8 :                   tree _o1[2], _r1;
    2004            8 :                   {
    2005            8 :                     tree _o2[1], _r2;
    2006            8 :                     {
    2007            8 :                       tree _o3[2], _r3;
    2008            8 :                       _o3[0] = captures[0];
    2009            8 :                       _o3[1] = shifter;
    2010            8 :                       _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2011            8 :                       _o2[0] = _r3;
    2012              :                     }
    2013            8 :                     if (TREE_TYPE (_o2[0]) != type)
    2014              :                       {
    2015            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2016              :                       }
    2017              :                     else
    2018              :                       _r2 = _o2[0];
    2019            8 :                     _o1[0] = _r2;
    2020              :                   }
    2021            8 :                   _o1[1] = captures[1];
    2022            8 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2023            8 :                   res_op0 = _r1;
    2024              :                 }
    2025            8 :                 tree _r;
    2026            8 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2027            8 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 543, __FILE__, __LINE__, true);
    2028            8 :                 return _r;
    2029              :               }
    2030              : next_after_fail654:;
    2031              :             }
    2032              :       }
    2033              :     }
    2034              :   return NULL_TREE;
    2035              : }
    2036              : 
    2037              : tree
    2038     22204446 : generic_simplify_394 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2039              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2040              :  const enum tree_code ARG_UNUSED (cmp))
    2041              : {
    2042     22204446 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2043     44402742 :   if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2044        11108 :  || POINTER_TYPE_P (TREE_TYPE (captures[2]))
    2045         2632 :  || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2])))
    2046     44402742 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2047              : )
    2048              :     {
    2049     22204446 :       {
    2050     22204446 :  tree cst = uniform_integer_cst_p (captures[2]);
    2051     22204446 :  tree arg1_type = TREE_TYPE (cst);
    2052     22204446 :  unsigned int prec = TYPE_PRECISION (arg1_type);
    2053     22204446 :  wide_int max = wi::max_value (arg1_type);
    2054     22204446 :  wide_int signed_max = wi::max_value (prec, SIGNED);
    2055     22204446 :  wide_int min = wi::min_value (arg1_type);
    2056     22204446 :           if (wi::to_wide (cst) == max
    2057              : )
    2058              :             {
    2059       172855 :               if (cmp == GT_EXPR
    2060              : )
    2061              :                 {
    2062       118166 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail694;
    2063       118166 :                   {
    2064       118166 :                     tree _r;
    2065       118166 :                     _r =  constant_boolean_node (false, type);
    2066       118166 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    2067           80 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2068       118166 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2069            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2070       118166 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 567, __FILE__, __LINE__, true);
    2071       118166 :                     return _r;
    2072              :                   }
    2073            0 : next_after_fail694:;
    2074              :                 }
    2075              :               else
    2076              :                 {
    2077        54689 :                   if (cmp == GE_EXPR
    2078              : )
    2079              :                     {
    2080            7 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail695;
    2081            7 :                       {
    2082            7 :                         tree res_op0;
    2083            7 :                         res_op0 = captures[0];
    2084            7 :                         tree res_op1;
    2085            7 :                         res_op1 = captures[2];
    2086            7 :                         tree _r;
    2087            7 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2088            7 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 568, __FILE__, __LINE__, true);
    2089            7 :                         return _r;
    2090              :                       }
    2091            0 : next_after_fail695:;
    2092              :                     }
    2093              :                   else
    2094              :                     {
    2095        54682 :                       if (cmp == LE_EXPR
    2096              : )
    2097              :                         {
    2098        54672 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail696;
    2099        54672 :                           {
    2100        54672 :                             tree _r;
    2101        54672 :                             _r =  constant_boolean_node (true, type);
    2102        54672 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    2103           23 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2104        54672 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    2105            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2106        54672 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 569, __FILE__, __LINE__, true);
    2107        54672 :                             return _r;
    2108              :                           }
    2109            0 : next_after_fail696:;
    2110              :                         }
    2111              :                       else
    2112              :                         {
    2113           10 :                           if (cmp == LT_EXPR
    2114              : )
    2115              :                             {
    2116           10 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail697;
    2117           10 :                               {
    2118           10 :                                 tree res_op0;
    2119           10 :                                 res_op0 = captures[0];
    2120           10 :                                 tree res_op1;
    2121           10 :                                 res_op1 = captures[2];
    2122           10 :                                 tree _r;
    2123           10 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2124           10 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 570, __FILE__, __LINE__, true);
    2125           10 :                                 return _r;
    2126              :                               }
    2127            0 : next_after_fail697:;
    2128              :                             }
    2129              :                         }
    2130              :                     }
    2131              :                 }
    2132              :             }
    2133              :           else
    2134              :             {
    2135     22031591 :               if (wi::to_wide (cst) == min
    2136              : )
    2137              :                 {
    2138      1335641 :                   if (cmp == LT_EXPR
    2139              : )
    2140              :                     {
    2141       434277 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail698;
    2142       434277 :                       {
    2143       434277 :                         tree _r;
    2144       434277 :                         _r =  constant_boolean_node (false, type);
    2145       434277 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    2146           50 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2147       434277 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    2148            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2149       434277 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 571, __FILE__, __LINE__, true);
    2150       434277 :                         return _r;
    2151              :                       }
    2152            0 : next_after_fail698:;
    2153              :                     }
    2154              :                   else
    2155              :                     {
    2156       901364 :                       if (cmp == LE_EXPR
    2157              : )
    2158              :                         {
    2159        99401 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail699;
    2160        99401 :                           {
    2161        99401 :                             tree res_op0;
    2162        99401 :                             res_op0 = captures[0];
    2163        99401 :                             tree res_op1;
    2164        99401 :                             res_op1 = captures[2];
    2165        99401 :                             tree _r;
    2166        99401 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2167        99401 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 572, __FILE__, __LINE__, true);
    2168        99401 :                             return _r;
    2169              :                           }
    2170            0 : next_after_fail699:;
    2171              :                         }
    2172              :                       else
    2173              :                         {
    2174       801963 :                           if (cmp == GE_EXPR
    2175              : )
    2176              :                             {
    2177       236977 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail700;
    2178       236977 :                               {
    2179       236977 :                                 tree _r;
    2180       236977 :                                 _r =  constant_boolean_node (true, type);
    2181       236977 :                                 if (TREE_SIDE_EFFECTS (captures[0]))
    2182          287 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2183       236977 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2184            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2185       236977 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 573, __FILE__, __LINE__, true);
    2186       236977 :                                 return _r;
    2187              :                               }
    2188            0 : next_after_fail700:;
    2189              :                             }
    2190              :                           else
    2191              :                             {
    2192       564986 :                               if (cmp == GT_EXPR
    2193              : )
    2194              :                                 {
    2195       564986 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail701;
    2196       564986 :                                   {
    2197       564986 :                                     tree res_op0;
    2198       564986 :                                     res_op0 = captures[0];
    2199       564986 :                                     tree res_op1;
    2200       564986 :                                     res_op1 = captures[2];
    2201       564986 :                                     tree _r;
    2202       564986 :                                     _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2203       564986 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 574, __FILE__, __LINE__, true);
    2204       564986 :                                     return _r;
    2205              :                                   }
    2206            0 : next_after_fail701:;
    2207              :                                 }
    2208              :                             }
    2209              :                         }
    2210              :                     }
    2211              :                 }
    2212              :               else
    2213              :                 {
    2214     20695957 :                   if (wi::to_wide (cst) == max - 1
    2215              : )
    2216              :                     {
    2217       386802 :                       if (cmp == GT_EXPR
    2218              : )
    2219              :                         {
    2220       154826 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail702;
    2221       154826 :                           {
    2222       154826 :                             tree res_op0;
    2223       154826 :                             res_op0 = captures[0];
    2224       154826 :                             tree res_op1;
    2225       154826 :                             res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2226       154826 :  wide_int_to_tree (TREE_TYPE (cst),
    2227       154826 :  wi::to_wide (cst)
    2228       309652 :  + 1));
    2229       154826 :                             tree _r;
    2230       154826 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2231       154826 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    2232            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2233       154826 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 575, __FILE__, __LINE__, true);
    2234       154826 :                             return _r;
    2235              :                           }
    2236            0 : next_after_fail702:;
    2237              :                         }
    2238              :                       else
    2239              :                         {
    2240       231976 :                           if (cmp == LE_EXPR
    2241              : )
    2242              :                             {
    2243       231976 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail703;
    2244       231976 :                               {
    2245       231976 :                                 tree res_op0;
    2246       231976 :                                 res_op0 = captures[0];
    2247       231976 :                                 tree res_op1;
    2248       231976 :                                 res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2249       231976 :  wide_int_to_tree (TREE_TYPE (cst),
    2250       231976 :  wi::to_wide (cst)
    2251       463952 :  + 1));
    2252       231976 :                                 tree _r;
    2253       231976 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2254       231976 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2255            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2256       231976 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 576, __FILE__, __LINE__, true);
    2257       231976 :                                 return _r;
    2258              :                               }
    2259            0 : next_after_fail703:;
    2260              :                             }
    2261              :                         }
    2262              :                     }
    2263              :                   else
    2264              :                     {
    2265     20309153 :                       if (wi::to_wide (cst) == min + 1
    2266              : )
    2267              :                         {
    2268       717895 :                           if (cmp == GE_EXPR
    2269              : )
    2270              :                             {
    2271        59520 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail704;
    2272        59520 :                               {
    2273        59520 :                                 tree res_op0;
    2274        59520 :                                 res_op0 = captures[0];
    2275        59520 :                                 tree res_op1;
    2276        59520 :                                 res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2277        59520 :  wide_int_to_tree (TREE_TYPE (cst),
    2278        59520 :  wi::to_wide (cst)
    2279       119040 :  - 1));
    2280        59520 :                                 tree _r;
    2281        59520 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2282        59520 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2283            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2284        59520 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 577, __FILE__, __LINE__, true);
    2285        59520 :                                 return _r;
    2286              :                               }
    2287            0 : next_after_fail704:;
    2288              :                             }
    2289              :                           else
    2290              :                             {
    2291       658375 :                               if (cmp == LT_EXPR
    2292              : )
    2293              :                                 {
    2294        25729 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail705;
    2295        25729 :                                   {
    2296        25729 :                                     tree res_op0;
    2297        25729 :                                     res_op0 = captures[0];
    2298        25729 :                                     tree res_op1;
    2299        25729 :                                     res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2300        25729 :  wide_int_to_tree (TREE_TYPE (cst),
    2301        25729 :  wi::to_wide (cst)
    2302        51458 :  - 1));
    2303        25729 :                                     tree _r;
    2304        25729 :                                     _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2305        25729 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    2306            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2307        25729 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 578, __FILE__, __LINE__, true);
    2308        25729 :                                     return _r;
    2309              :                                   }
    2310            0 : next_after_fail705:;
    2311              :                                 }
    2312              :                             }
    2313              :                         }
    2314              :                       else
    2315              :                         {
    2316     19591253 :                           if (wi::to_wide (cst) == signed_max
    2317       161349 :  && TYPE_UNSIGNED (arg1_type)
    2318       161349 :  && TYPE_MODE (arg1_type) != BLKmode
    2319     19591260 :  && prec == GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (arg1_type))
    2320     19752029 :  && INTEGRAL_TYPE_P (arg1_type)
    2321              : )
    2322              :                             {
    2323       160769 :                               if (cmp == LE_EXPR || cmp == GT_EXPR
    2324              : )
    2325              :                                 {
    2326       160769 :                                   {
    2327       160769 :  tree st = signed_type_for (TREE_TYPE (captures[2]));
    2328       160769 :                                       if (cst == captures[2] && cmp == LE_EXPR
    2329              : )
    2330              :                                         {
    2331        22849 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail706;
    2332        22849 :                                           {
    2333        22849 :                                             tree res_op0;
    2334        22849 :                                             {
    2335        22849 :                                               tree _o1[1], _r1;
    2336        22849 :                                               _o1[0] = captures[1];
    2337        22849 :                                               if (TREE_TYPE (_o1[0]) != st)
    2338              :                                                 {
    2339        22849 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
    2340              :                                                 }
    2341              :                                               else
    2342              :                                                 _r1 = _o1[0];
    2343        22849 :                                               res_op0 = _r1;
    2344              :                                             }
    2345        22849 :                                             tree res_op1;
    2346        22849 :                                             res_op1 =  build_zero_cst (st);
    2347        22849 :                                             tree _r;
    2348        22849 :                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    2349        22849 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    2350            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2351        22849 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 579, __FILE__, __LINE__, true);
    2352        22849 :                                             return _r;
    2353              :                                           }
    2354            0 : next_after_fail706:;
    2355            0 :                                         }
    2356              :                                       else
    2357              :                                         {
    2358       137920 :                                           if (cst == captures[2] && cmp == GT_EXPR
    2359              : )
    2360              :                                             {
    2361       137834 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail707;
    2362       137834 :                                               {
    2363       137834 :                                                 tree res_op0;
    2364       137834 :                                                 {
    2365       137834 :                                                   tree _o1[1], _r1;
    2366       137834 :                                                   _o1[0] = captures[1];
    2367       137834 :                                                   if (TREE_TYPE (_o1[0]) != st)
    2368              :                                                     {
    2369       137834 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
    2370              :                                                     }
    2371              :                                                   else
    2372              :                                                     _r1 = _o1[0];
    2373       137834 :                                                   res_op0 = _r1;
    2374              :                                                 }
    2375       137834 :                                                 tree res_op1;
    2376       137834 :                                                 res_op1 =  build_zero_cst (st);
    2377       137834 :                                                 tree _r;
    2378       137834 :                                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2379       137834 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2380            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2381       137834 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 580, __FILE__, __LINE__, true);
    2382       137834 :                                                 return _r;
    2383              :                                               }
    2384            0 : next_after_fail707:;
    2385            0 :                                             }
    2386              :                                           else
    2387              :                                             {
    2388           86 :                                               if (cmp == LE_EXPR
    2389              : )
    2390              :                                                 {
    2391           30 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail708;
    2392           30 :                                                   {
    2393           30 :                                                     tree res_op0;
    2394           30 :                                                     {
    2395           30 :                                                       tree _o1[1], _r1;
    2396           30 :                                                       _o1[0] = captures[1];
    2397           30 :                                                       if (TREE_TYPE (_o1[0]) != st)
    2398              :                                                         {
    2399           30 :                                                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
    2400              :                                                         }
    2401              :                                                       else
    2402              :                                                         _r1 = _o1[0];
    2403           30 :                                                       res_op0 = _r1;
    2404              :                                                     }
    2405           30 :                                                     tree res_op1;
    2406           30 :                                                     res_op1 =  build_zero_cst (st);
    2407           30 :                                                     tree _r;
    2408           30 :                                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    2409           30 :                                                     if (TREE_SIDE_EFFECTS (captures[2]))
    2410            0 :                                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2411           30 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 581, __FILE__, __LINE__, true);
    2412           30 :                                                     return _r;
    2413              :                                                   }
    2414            0 : next_after_fail708:;
    2415              :                                                 }
    2416              :                                               else
    2417              :                                                 {
    2418           56 :                                                   if (cmp == GT_EXPR
    2419              : )
    2420              :                                                     {
    2421           56 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail709;
    2422           56 :                                                       {
    2423           56 :                                                         tree res_op0;
    2424           56 :                                                         {
    2425           56 :                                                           tree _o1[1], _r1;
    2426           56 :                                                           _o1[0] = captures[1];
    2427           56 :                                                           if (TREE_TYPE (_o1[0]) != st)
    2428              :                                                             {
    2429           56 :                                                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
    2430              :                                                             }
    2431              :                                                           else
    2432              :                                                             _r1 = _o1[0];
    2433           56 :                                                           res_op0 = _r1;
    2434              :                                                         }
    2435           56 :                                                         tree res_op1;
    2436           56 :                                                         res_op1 =  build_zero_cst (st);
    2437           56 :                                                         tree _r;
    2438           56 :                                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2439           56 :                                                         if (TREE_SIDE_EFFECTS (captures[2]))
    2440            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2441           56 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 582, __FILE__, __LINE__, true);
    2442           56 :                                                         return _r;
    2443              :                                                       }
    2444            0 : next_after_fail709:;
    2445              :                                                     }
    2446              :                                                 }
    2447              :                                             }
    2448              :                                         }
    2449              :                                   }
    2450              :                                 }
    2451              :                             }
    2452              :                         }
    2453              :                     }
    2454              :                 }
    2455              :             }
    2456     22204460 :       }
    2457              :     }
    2458              :   return NULL_TREE;
    2459              : }
    2460              : 
    2461              : tree
    2462            0 : generic_simplify_452 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2463              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2464              : {
    2465            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2466            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail799;
    2467            0 :   {
    2468            0 :     tree res_op0;
    2469            0 :     res_op0 = captures[0];
    2470            0 :     tree res_op1;
    2471            0 :     res_op1 = captures[1];
    2472            0 :     tree _r;
    2473            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2474            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 653, __FILE__, __LINE__, true);
    2475              :     return _r;
    2476              :   }
    2477            0 : next_after_fail799:;
    2478            0 :   return NULL_TREE;
    2479              : }
    2480              : 
    2481              : tree
    2482          352 : generic_simplify_458 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2483              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2484              :  const enum tree_code ARG_UNUSED (bitop),
    2485              :  const enum tree_code ARG_UNUSED (op))
    2486              : {
    2487          352 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2488          352 :   {
    2489          352 :  tree pmop[2];
    2490          352 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], ERROR_MARK,
    2491              :  NULL_TREE, NULL_TREE, captures[2], bitop, captures[3],
    2492              :  captures[4], pmop);
    2493          352 :       if (utype
    2494              : )
    2495              :         {
    2496          351 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail805;
    2497          351 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail805;
    2498          351 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail805;
    2499          351 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail805;
    2500          351 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail805;
    2501          351 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail805;
    2502          351 :           {
    2503          351 :             tree res_op0;
    2504          351 :             {
    2505          351 :               tree _o1[2], _r1;
    2506          351 :               {
    2507          351 :                 tree _o2[2], _r2;
    2508          351 :                 {
    2509          351 :                   tree _o3[1], _r3;
    2510          351 :                   _o3[0] =  pmop[0];
    2511          351 :                   if (TREE_TYPE (_o3[0]) != utype)
    2512              :                     {
    2513           14 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2514              :                     }
    2515              :                   else
    2516              :                     _r3 = _o3[0];
    2517          351 :                   _o2[0] = _r3;
    2518              :                 }
    2519          351 :                 {
    2520          351 :                   tree _o3[1], _r3;
    2521          351 :                   _o3[0] =  pmop[1];
    2522          351 :                   if (TREE_TYPE (_o3[0]) != utype)
    2523              :                     {
    2524           74 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2525              :                     }
    2526              :                   else
    2527              :                     _r3 = _o3[0];
    2528          351 :                   _o2[1] = _r3;
    2529              :                 }
    2530          351 :                 _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2531          351 :                 _o1[0] = _r2;
    2532              :               }
    2533          351 :               {
    2534          351 :                 tree _o2[1], _r2;
    2535          351 :                 _o2[0] = captures[5];
    2536          351 :                 if (TREE_TYPE (_o2[0]) != utype)
    2537              :                   {
    2538           14 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2539              :                   }
    2540              :                 else
    2541              :                   _r2 = _o2[0];
    2542          351 :                 _o1[1] = _r2;
    2543              :               }
    2544          351 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2545          351 :               res_op0 = _r1;
    2546              :             }
    2547          351 :             tree _r;
    2548          351 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2549          351 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 658, __FILE__, __LINE__, true);
    2550          351 :             return _r;
    2551              :           }
    2552            1 : next_after_fail805:;
    2553              :         }
    2554              :   }
    2555            1 :   return NULL_TREE;
    2556              : }
    2557              : 
    2558              : tree
    2559          111 : generic_simplify_474 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2560              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2561              :  const enum tree_code ARG_UNUSED (code2),
    2562              :  const enum tree_code ARG_UNUSED (code1))
    2563              : {
    2564          111 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2565          111 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2566           47 :  && TREE_CODE (captures[4]) == INTEGER_CST)
    2567          111 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2568           14 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2569            4 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2570           10 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2571           54 :  && operand_equal_p (captures[2], captures[4]))
    2572              : )
    2573              :     {
    2574           51 :       {
    2575           51 :  int cmp = 0;
    2576           51 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2577           47 :  && TREE_CODE (captures[4]) == INTEGER_CST)
    2578           47 :  cmp = tree_int_cst_compare (captures[2], captures[4]);
    2579           51 :           if ((code1 == LT_EXPR || code1 == LE_EXPR)
    2580            4 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
    2581              : )
    2582              :             {
    2583            0 :               if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
    2584              : )
    2585              :                 {
    2586            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail835;
    2587            0 :                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail835;
    2588            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail835;
    2589            0 :                   {
    2590            0 :                     tree _r;
    2591            0 :                     _r = captures[0];
    2592            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 680, __FILE__, __LINE__, true);
    2593            0 :                     return _r;
    2594              :                   }
    2595              : next_after_fail835:;
    2596              :                 }
    2597              :               else
    2598              :                 {
    2599            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail836;
    2600            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail836;
    2601            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail836;
    2602            0 :                   {
    2603            0 :                     tree _r;
    2604            0 :                     _r = captures[3];
    2605            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 681, __FILE__, __LINE__, true);
    2606            0 :                     return _r;
    2607              :                   }
    2608              : next_after_fail836:;
    2609              :                 }
    2610              :             }
    2611              :           else
    2612              :             {
    2613           51 :               if ((code1 == GT_EXPR || code1 == GE_EXPR)
    2614           47 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
    2615              : )
    2616              :                 {
    2617            0 :                   if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
    2618              : )
    2619              :                     {
    2620            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail837;
    2621            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail837;
    2622            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail837;
    2623            0 :                       {
    2624            0 :                         tree _r;
    2625            0 :                         _r = captures[0];
    2626            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 682, __FILE__, __LINE__, true);
    2627            0 :                         return _r;
    2628              :                       }
    2629              : next_after_fail837:;
    2630              :                     }
    2631              :                   else
    2632              :                     {
    2633            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail838;
    2634            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail838;
    2635            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail838;
    2636            0 :                       {
    2637            0 :                         tree _r;
    2638            0 :                         _r = captures[3];
    2639            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 683, __FILE__, __LINE__, true);
    2640            0 :                         return _r;
    2641              :                       }
    2642              : next_after_fail838:;
    2643              :                     }
    2644              :                 }
    2645              :               else
    2646              :                 {
    2647           51 :                   if (cmp == 0
    2648            4 :  && ((code1 == LE_EXPR && code2 == GE_EXPR)
    2649            4 :  || (code1 == GE_EXPR && code2 == LE_EXPR))
    2650              : )
    2651              :                     {
    2652            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail839;
    2653            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail839;
    2654            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail839;
    2655            0 :                       {
    2656            0 :                         tree res_op0;
    2657            0 :                         res_op0 = captures[1];
    2658            0 :                         tree res_op1;
    2659            0 :                         res_op1 = captures[2];
    2660            0 :                         tree _r;
    2661            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2662            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 684, __FILE__, __LINE__, true);
    2663            0 :                         return _r;
    2664              :                       }
    2665              : next_after_fail839:;
    2666              :                     }
    2667              :                   else
    2668              :                     {
    2669           51 :                       if (cmp <= 0
    2670           50 :  && (code1 == LT_EXPR || code1 == LE_EXPR)
    2671            4 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
    2672              : )
    2673              :                         {
    2674            4 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail840;
    2675            4 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail840;
    2676            4 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail840;
    2677            4 :                           {
    2678            4 :                             tree _r;
    2679            4 :                             _r =  constant_boolean_node (false, type);
    2680            4 :                             if (TREE_SIDE_EFFECTS (captures[1]))
    2681            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2682            4 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 685, __FILE__, __LINE__, true);
    2683            4 :                             return _r;
    2684              :                           }
    2685              : next_after_fail840:;
    2686              :                         }
    2687              :                       else
    2688              :                         {
    2689           46 :                           if (cmp >= 0
    2690            1 :  && (code1 == GT_EXPR || code1 == GE_EXPR)
    2691            1 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
    2692              : )
    2693              :                             {
    2694            1 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail841;
    2695            1 :                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail841;
    2696            1 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail841;
    2697            1 :                               {
    2698            1 :                                 tree _r;
    2699            1 :                                 _r =  constant_boolean_node (false, type);
    2700            1 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
    2701            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2702            1 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 686, __FILE__, __LINE__, true);
    2703            1 :                                 return _r;
    2704              :                               }
    2705              : next_after_fail841:;
    2706              :                             }
    2707              :                         }
    2708              :                     }
    2709              :                 }
    2710              :             }
    2711              :       }
    2712              :     }
    2713              :   return NULL_TREE;
    2714              : }
    2715              : 
    2716              : tree
    2717           34 : generic_simplify_491 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2718              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2719              :  const combined_fn ARG_UNUSED (bswap))
    2720              : {
    2721           34 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2722           34 :   if (BITS_PER_UNIT == 8
    2723           34 :  && tree_fits_uhwi_p (captures[2])
    2724           34 :  && tree_to_uhwi (captures[2]) < 256
    2725              : )
    2726              :     {
    2727           32 :       {
    2728           32 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
    2729           32 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    2730           32 :  tree nst = build_int_cst (integer_type_node, prec - 8);
    2731           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail881;
    2732           32 :           {
    2733           32 :             tree res_op0;
    2734           32 :             {
    2735           32 :               tree _o1[1], _r1;
    2736           32 :               {
    2737           32 :                 tree _o2[2], _r2;
    2738           32 :                 {
    2739           32 :                   tree _o3[1], _r3;
    2740           32 :                   _o3[0] = captures[1];
    2741           32 :                   if (TREE_TYPE (_o3[0]) != utype)
    2742              :                     {
    2743            0 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2744              :                     }
    2745              :                   else
    2746              :                     _r3 = _o3[0];
    2747           32 :                   _o2[0] = _r3;
    2748              :                 }
    2749           32 :                 _o2[1] = nst;
    2750           32 :                 _r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
    2751           32 :                 _o1[0] = _r2;
    2752              :               }
    2753           32 :               if (TREE_TYPE (_o1[0]) != type)
    2754              :                 {
    2755           18 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2756              :                 }
    2757              :               else
    2758              :                 _r1 = _o1[0];
    2759           32 :               res_op0 = _r1;
    2760              :             }
    2761           32 :             tree res_op1;
    2762           32 :             res_op1 = captures[2];
    2763           32 :             tree _r;
    2764           32 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2765           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 696, __FILE__, __LINE__, true);
    2766           32 :             return _r;
    2767              :           }
    2768            0 : next_after_fail881:;
    2769              :       }
    2770              :     }
    2771              :   return NULL_TREE;
    2772              : }
    2773              : 
    2774              : tree
    2775       422353 : generic_simplify_495 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2776              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2777              :  const enum tree_code ARG_UNUSED (op))
    2778              : {
    2779       422353 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2780       844706 :   if (INTEGRAL_TYPE_P (type)
    2781       422353 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2782        66154 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2783        66154 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2784        66154 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2785        66154 :  && type_has_mode_precision_p (type)
    2786        66154 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2787           33 :  && types_match (captures[2], captures[4])
    2788           33 :  && (tree_int_cst_min_precision (captures[5], TYPE_SIGN (TREE_TYPE (captures[2])))
    2789           33 :  <= TYPE_PRECISION (TREE_TYPE (captures[2])))
    2790       422380 :  && (wi::to_wide (captures[5])
    2791       422407 :  & wi::mask (TYPE_PRECISION (TREE_TYPE (captures[2])),
    2792       422407 :  true, TYPE_PRECISION (type))) == 0
    2793              : )
    2794              :     {
    2795           25 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2796              : )
    2797              :         {
    2798           12 :           {
    2799           12 :  tree ntype = TREE_TYPE (captures[2]);
    2800           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail885;
    2801           12 :               {
    2802           12 :                 tree res_op0;
    2803           12 :                 {
    2804           12 :                   tree _o1[2], _r1;
    2805           12 :                   {
    2806           12 :                     tree _o2[2], _r2;
    2807           12 :                     _o2[0] = captures[2];
    2808           12 :                     _o2[1] = captures[4];
    2809           12 :                     _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2810           12 :                     _o1[0] = _r2;
    2811              :                   }
    2812           12 :                   {
    2813           12 :                     tree _o2[1], _r2;
    2814           12 :                     _o2[0] = captures[5];
    2815           12 :                     if (TREE_TYPE (_o2[0]) != ntype)
    2816              :                       {
    2817           12 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
    2818              :                       }
    2819              :                     else
    2820              :                       _r2 = _o2[0];
    2821           12 :                     _o1[1] = _r2;
    2822              :                   }
    2823           12 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2824           12 :                   res_op0 = _r1;
    2825              :                 }
    2826           12 :                 tree _r;
    2827           12 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2828           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 699, __FILE__, __LINE__, true);
    2829           12 :                 return _r;
    2830              :               }
    2831            0 : next_after_fail885:;
    2832              :           }
    2833              :         }
    2834              :       else
    2835              :         {
    2836           13 :           {
    2837           13 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2838           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail886;
    2839           13 :               {
    2840           13 :                 tree res_op0;
    2841           13 :                 {
    2842           13 :                   tree _o1[2], _r1;
    2843           13 :                   {
    2844           13 :                     tree _o2[2], _r2;
    2845           13 :                     {
    2846           13 :                       tree _o3[1], _r3;
    2847           13 :                       _o3[0] = captures[2];
    2848           13 :                       if (TREE_TYPE (_o3[0]) != utype)
    2849              :                         {
    2850           13 :                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2851              :                         }
    2852              :                       else
    2853              :                         _r3 = _o3[0];
    2854           13 :                       _o2[0] = _r3;
    2855              :                     }
    2856           13 :                     {
    2857           13 :                       tree _o3[1], _r3;
    2858           13 :                       _o3[0] = captures[4];
    2859           13 :                       if (TREE_TYPE (_o3[0]) != utype)
    2860              :                         {
    2861           13 :                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2862              :                         }
    2863              :                       else
    2864              :                         _r3 = _o3[0];
    2865           13 :                       _o2[1] = _r3;
    2866              :                     }
    2867           13 :                     _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2868           13 :                     _o1[0] = _r2;
    2869              :                   }
    2870           13 :                   {
    2871           13 :                     tree _o2[1], _r2;
    2872           13 :                     _o2[0] = captures[5];
    2873           13 :                     if (TREE_TYPE (_o2[0]) != utype)
    2874              :                       {
    2875           13 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2876              :                       }
    2877              :                     else
    2878              :                       _r2 = _o2[0];
    2879           13 :                     _o1[1] = _r2;
    2880              :                   }
    2881           13 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2882           13 :                   res_op0 = _r1;
    2883              :                 }
    2884           13 :                 tree _r;
    2885           13 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2886           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 700, __FILE__, __LINE__, true);
    2887           13 :                 return _r;
    2888              :               }
    2889            0 : next_after_fail886:;
    2890              :           }
    2891              :         }
    2892              :     }
    2893              :   return NULL_TREE;
    2894              : }
    2895              : 
    2896              : tree
    2897            0 : generic_simplify_526 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2898              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2899              :  const enum tree_code ARG_UNUSED (minmax))
    2900              : {
    2901            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2902            0 :   if (TYPE_UNSIGNED(type)
    2903              : )
    2904              :     {
    2905            0 :       if (minmax == MIN_EXPR
    2906              : )
    2907              :         {
    2908            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail920;
    2909            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail920;
    2910            0 :           {
    2911            0 :             tree _r;
    2912            0 :             _r = captures[1];
    2913            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 731, __FILE__, __LINE__, true);
    2914            0 :             return _r;
    2915              :           }
    2916              : next_after_fail920:;
    2917              :         }
    2918              :       else
    2919              :         {
    2920            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail921;
    2921            0 :           {
    2922            0 :             tree _r;
    2923            0 :             _r = captures[0];
    2924            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2925            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2926            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 732, __FILE__, __LINE__, true);
    2927            0 :             return _r;
    2928              :           }
    2929            0 : next_after_fail921:;
    2930              :         }
    2931              :     }
    2932              :   return NULL_TREE;
    2933              : }
    2934              : 
    2935              : tree
    2936            0 : generic_simplify_535 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2937              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2938              :  const combined_fn ARG_UNUSED (minmax))
    2939              : {
    2940            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2941            0 :   if (!tree_expr_maybe_signaling_nan_p (captures[0])
    2942              : )
    2943              :     {
    2944            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail942;
    2945            0 :       {
    2946            0 :         tree _r;
    2947            0 :         _r = captures[0];
    2948            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 741, __FILE__, __LINE__, true);
    2949            0 :         return _r;
    2950              :       }
    2951            0 : next_after_fail942:;
    2952              :     }
    2953              :   return NULL_TREE;
    2954              : }
    2955              : 
    2956              : tree
    2957            6 : generic_simplify_540 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2958              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    2959              : {
    2960            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2961            6 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail947;
    2962            6 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail947;
    2963            6 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail947;
    2964            6 :   {
    2965            6 :     tree _r;
    2966            6 :     _r = captures[2];
    2967            6 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 531, __FILE__, __LINE__, true);
    2968              :     return _r;
    2969              :   }
    2970              : next_after_fail947:;
    2971              :   return NULL_TREE;
    2972              : }
    2973              : 
    2974              : tree
    2975            0 : generic_simplify_546 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2976              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2977              :  const combined_fn ARG_UNUSED (cond_op))
    2978              : {
    2979            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2980            0 :   {
    2981            0 :  tree op_type = TREE_TYPE (captures[4]);
    2982            0 :       if (element_precision (type) == element_precision (op_type)
    2983              : )
    2984              :         {
    2985            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail953;
    2986            0 :           {
    2987            0 :             tree res_op0;
    2988            0 :             {
    2989            0 :               tree _o1[5], _r1;
    2990            0 :               _o1[0] = captures[0];
    2991            0 :               _o1[1] = captures[1];
    2992            0 :               _o1[2] = captures[2];
    2993            0 :               _o1[3] = captures[3];
    2994            0 :               {
    2995            0 :                 tree _o2[1], _r2;
    2996            0 :                 _o2[0] = captures[5];
    2997            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2998              :                   {
    2999            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    3000              :                   }
    3001              :                 else
    3002              :                   _r2 = _o2[0];
    3003            0 :                 _o1[4] = _r2;
    3004              :               }
    3005            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 5, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
    3006            0 :               if (!_r1)
    3007            0 :                 goto next_after_fail953;
    3008            0 :               res_op0 = _r1;
    3009              :             }
    3010            0 :             tree _r;
    3011            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3012            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    3013            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3014            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 747, __FILE__, __LINE__, true);
    3015            0 :             return _r;
    3016              :           }
    3017              : next_after_fail953:;
    3018              :         }
    3019              :   }
    3020              :   return NULL_TREE;
    3021              : }
    3022              : 
    3023              : tree
    3024            0 : generic_simplify_555 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3025              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3026              :  const enum tree_code ARG_UNUSED (rotate),
    3027              :  const enum tree_code ARG_UNUSED (orotate))
    3028              : {
    3029            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3030            0 :   {
    3031            0 :  auto prec = element_precision (TREE_TYPE (captures[0]));
    3032            0 :       if (prec == wi::to_wide (captures[2])
    3033              : )
    3034              :         {
    3035            0 :           if (expr_not_equal_to (captures[3], wi::uhwi (prec,
    3036            0 :  TYPE_PRECISION (TREE_TYPE (captures[3]))),
    3037              :  gimple_match_ctx (captures[1]))
    3038              : )
    3039              :             {
    3040            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail962;
    3041            0 :               {
    3042            0 :                 tree res_op0;
    3043            0 :                 res_op0 = captures[0];
    3044            0 :                 tree res_op1;
    3045            0 :                 res_op1 = captures[3];
    3046            0 :                 tree _r;
    3047            0 :                 _r = fold_build2_loc (loc, orotate, type, res_op0, res_op1);
    3048            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    3049            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3050            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 756, __FILE__, __LINE__, true);
    3051            0 :                 return _r;
    3052              :               }
    3053            0 : next_after_fail962:;
    3054              :             }
    3055              :           else
    3056              :             {
    3057            0 :               if (single_use (captures[1])
    3058            0 :  && pow2p_hwi (prec)
    3059            0 :  && cfun
    3060            0 :  && (fold_before_rtl_expansion_p ()
    3061            0 :  || !flag_tree_vrp
    3062            0 :  || optimize_debug)
    3063              : )
    3064              :                 {
    3065            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail963;
    3066            0 :                   {
    3067            0 :                     tree res_op0;
    3068            0 :                     res_op0 = captures[0];
    3069            0 :                     tree res_op1;
    3070            0 :                     {
    3071            0 :                       tree _o1[2], _r1;
    3072            0 :                       _o1[0] = captures[3];
    3073            0 :                       _o1[1] =  build_int_cst (TREE_TYPE (captures[3]), prec - 1);
    3074            0 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3075            0 :                       res_op1 = _r1;
    3076              :                     }
    3077            0 :                     tree _r;
    3078            0 :                     _r = fold_build2_loc (loc, orotate, type, res_op0, res_op1);
    3079            0 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    3080            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3081            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 757, __FILE__, __LINE__, true);
    3082            0 :                     return _r;
    3083              :                   }
    3084            0 : next_after_fail963:;
    3085              :                 }
    3086              :             }
    3087              :         }
    3088              :   }
    3089            0 :   return NULL_TREE;
    3090              : }
    3091              : 
    3092              : tree
    3093            0 : generic_simplify_577 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3094              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    3095              : {
    3096            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3097            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail987;
    3098            0 :   {
    3099            0 :     tree _r;
    3100            0 :     _r = captures[0];
    3101            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    3102            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3103            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 781, __FILE__, __LINE__, true);
    3104              :     return _r;
    3105              :   }
    3106            0 : next_after_fail987:;
    3107            0 :   return NULL_TREE;
    3108              : }
    3109              : 
    3110              : tree
    3111            0 : generic_simplify_582 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3112              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3113              :  const combined_fn ARG_UNUSED (fns))
    3114              : {
    3115            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3116            0 :   if (canonicalize_math_p ()
    3117              : )
    3118              :     {
    3119            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail992;
    3120            0 :       {
    3121            0 :         tree res_op0;
    3122            0 :         res_op0 = captures[0];
    3123            0 :         tree _r;
    3124            0 :         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3125            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 786, __FILE__, __LINE__, true);
    3126            0 :         return _r;
    3127              :       }
    3128            0 : next_after_fail992:;
    3129              :     }
    3130              :   return NULL_TREE;
    3131              : }
    3132              : 
    3133              : tree
    3134            0 : generic_simplify_590 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3135              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3136              :  const combined_fn ARG_UNUSED (fmas))
    3137              : {
    3138            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3139            0 :   if (canonicalize_math_after_vectorization_p ()
    3140              : )
    3141              :     {
    3142              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1000;
    3143              :       {
    3144              :         tree res_op0;
    3145              :         res_op0 = captures[0];
    3146              :         tree res_op1;
    3147              :         res_op1 = captures[1];
    3148              :         tree res_op2;
    3149              :         res_op2 = captures[2];
    3150              :         tree _r;
    3151              :         _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3152              :         if (!_r)
    3153              :           goto next_after_fail1000;
    3154              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 794, __FILE__, __LINE__, true);
    3155              :         return _r;
    3156              :       }
    3157            0 : next_after_fail1000:;
    3158              :     }
    3159            0 :   return NULL_TREE;
    3160              : }
    3161              : 
    3162              : tree
    3163            0 : generic_simplify_600 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3164              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3165              : {
    3166            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3167            0 :   if (canonicalize_math_after_vectorization_p ()
    3168              : )
    3169              :     {
    3170              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1010;
    3171              :       {
    3172              :         tree res_op0;
    3173              :         res_op0 = captures[0];
    3174              :         tree res_op1;
    3175              :         res_op1 = captures[1];
    3176              :         tree res_op2;
    3177              :         res_op2 = captures[2];
    3178              :         tree res_op3;
    3179              :         res_op3 = captures[3];
    3180              :         tree res_op4;
    3181              :         res_op4 = captures[4];
    3182              :         tree _r;
    3183              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3184              :         if (!_r)
    3185              :           goto next_after_fail1010;
    3186              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 804, __FILE__, __LINE__, true);
    3187              :         return _r;
    3188              :       }
    3189            0 : next_after_fail1010:;
    3190              :     }
    3191            0 :   return NULL_TREE;
    3192              : }
    3193              : 
    3194              : tree
    3195            0 : generic_simplify_609 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3196              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3197              :  const combined_fn ARG_UNUSED (ctz))
    3198              : {
    3199            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3200            0 :   {
    3201            0 :  tree t = TREE_TYPE (captures[0]);
    3202            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1019;
    3203            0 :       {
    3204            0 :         tree res_op0;
    3205            0 :         {
    3206            0 :           tree _o1[1], _r1;
    3207            0 :           _o1[0] = captures[1];
    3208            0 :           if (TREE_TYPE (_o1[0]) != t)
    3209              :             {
    3210            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3211              :             }
    3212              :           else
    3213              :             _r1 = _o1[0];
    3214            0 :           res_op0 = _r1;
    3215              :         }
    3216            0 :         tree _r;
    3217            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3218            0 :         if (!_r)
    3219            0 :           goto next_after_fail1019;
    3220            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 810, __FILE__, __LINE__, true);
    3221              :         return _r;
    3222              :       }
    3223              : next_after_fail1019:;
    3224              :   }
    3225              :   return NULL_TREE;
    3226              : }
    3227              : 
    3228              : tree
    3229            0 : generic_simplify_619 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3230              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3231              :  const combined_fn ARG_UNUSED (bswap),
    3232              :  const combined_fn ARG_UNUSED (parity))
    3233              : {
    3234            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3235            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3236            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3237            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3238            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3239              : )
    3240              :     {
    3241            0 :       {
    3242            0 :  tree type0 = TREE_TYPE (captures[0]);
    3243            0 :  tree type1 = TREE_TYPE (captures[1]);
    3244            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1030;
    3245            0 :           {
    3246            0 :             tree res_op0;
    3247            0 :             {
    3248            0 :               tree _o1[1], _r1;
    3249            0 :               {
    3250            0 :                 tree _o2[1], _r2;
    3251            0 :                 _o2[0] = captures[2];
    3252            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3253              :                   {
    3254            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3255              :                   }
    3256              :                 else
    3257              :                   _r2 = _o2[0];
    3258            0 :                 _o1[0] = _r2;
    3259              :               }
    3260            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3261              :                 {
    3262            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3263              :                 }
    3264              :               else
    3265              :                 _r1 = _o1[0];
    3266            0 :               res_op0 = _r1;
    3267              :             }
    3268            0 :             tree _r;
    3269            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3270            0 :             if (!_r)
    3271            0 :               goto next_after_fail1030;
    3272            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 817, __FILE__, __LINE__, true);
    3273            0 :             return _r;
    3274              :           }
    3275              : next_after_fail1030:;
    3276              :       }
    3277              :     }
    3278              :   return NULL_TREE;
    3279              : }
    3280              : 
    3281              : tree
    3282      4196002 : generic_simplify_NEGATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3283              : {
    3284      4196002 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3285      4196002 :   switch (TREE_CODE (_p0))
    3286              :     {
    3287        40097 :     case PLUS_EXPR:
    3288        40097 :       {
    3289        40097 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3290        40097 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3291        40097 :         if (tree_negate_expr_p (_q21))
    3292              :           {
    3293        38915 :             {
    3294        38915 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3295        38915 :               tree res = generic_simplify_511 (loc, type, _p0, captures);
    3296        38915 :               if (res) return res;
    3297              :             }
    3298              :           }
    3299         1182 :         if (tree_negate_expr_p (_q20))
    3300              :           {
    3301           17 :             {
    3302           17 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    3303           17 :               tree res = generic_simplify_511 (loc, type, _p0, captures);
    3304           17 :               if (res) return res;
    3305              :             }
    3306              :           }
    3307              :         break;
    3308              :       }
    3309       106965 :     case MINUS_EXPR:
    3310       106965 :       {
    3311       106965 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3312       106965 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3313       106965 :         {
    3314       106965 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3315       106965 :           if ((ANY_INTEGRAL_TYPE_P (type) && !TYPE_OVERFLOW_SANITIZED (type))
    3316       182216 :  || (FLOAT_TYPE_P (type)
    3317        75251 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3318        75251 :  && !HONOR_SIGNED_ZEROS (type))
    3319              : )
    3320              :             {
    3321        31771 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1077;
    3322        31771 :               {
    3323        31771 :                 tree res_op0;
    3324        31771 :                 res_op0 = captures[1];
    3325        31771 :                 tree res_op1;
    3326        31771 :                 res_op1 = captures[0];
    3327        31771 :                 tree _r;
    3328        31771 :                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3329        31771 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 855, __FILE__, __LINE__, true);
    3330        31771 :                 return _r;
    3331              :               }
    3332            0 : next_after_fail1077:;
    3333              :             }
    3334              :         }
    3335        75194 :         break;
    3336              :       }
    3337           16 :     case POINTER_DIFF_EXPR:
    3338           16 :       {
    3339           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3340           16 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3341           16 :         {
    3342           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3343           16 :           tree res = generic_simplify_512 (loc, type, _p0, captures);
    3344           16 :           if (res) return res;
    3345              :         }
    3346            0 :         break;
    3347              :       }
    3348         4113 :     case MULT_EXPR:
    3349         4113 :       {
    3350         4113 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3351         4113 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3352         4113 :         if (tree_negate_expr_p (_q21))
    3353              :           {
    3354         1820 :             {
    3355         1820 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3356         1820 :               tree res = generic_simplify_515 (loc, type, _p0, captures);
    3357         1820 :               if (res) return res;
    3358              :             }
    3359              :           }
    3360         2707 :         if (tree_negate_expr_p (_q20))
    3361              :           {
    3362           27 :             {
    3363           27 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    3364           27 :               tree res = generic_simplify_515 (loc, type, _p0, captures);
    3365           27 :               if (res) return res;
    3366              :             }
    3367              :           }
    3368              :         break;
    3369              :       }
    3370          188 :     case RDIV_EXPR:
    3371          188 :       {
    3372          188 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3373          188 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3374          188 :         if (tree_negate_expr_p (_q21))
    3375              :           {
    3376           60 :             {
    3377           60 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3378           60 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3379           60 :  && single_use (captures[0])
    3380              : )
    3381              :                 {
    3382           60 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1078;
    3383           60 :                   {
    3384           60 :                     tree res_op0;
    3385           60 :                     res_op0 = captures[1];
    3386           60 :                     tree res_op1;
    3387           60 :                     {
    3388           60 :                       tree _o1[1], _r1;
    3389           60 :                       _o1[0] = captures[2];
    3390           60 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3391           60 :                       res_op1 = _r1;
    3392              :                     }
    3393           60 :                     tree _r;
    3394           60 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3395           60 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 856, __FILE__, __LINE__, true);
    3396           60 :                     return _r;
    3397              :                   }
    3398            0 : next_after_fail1078:;
    3399              :                 }
    3400              :             }
    3401              :           }
    3402          128 :         if (tree_negate_expr_p (_q20))
    3403              :           {
    3404            0 :             {
    3405            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3406            0 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3407            0 :  && single_use (captures[0])
    3408              : )
    3409              :                 {
    3410            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1079;
    3411            0 :                   {
    3412            0 :                     tree res_op0;
    3413            0 :                     {
    3414            0 :                       tree _o1[1], _r1;
    3415            0 :                       _o1[0] = captures[1];
    3416            0 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3417            0 :                       res_op0 = _r1;
    3418              :                     }
    3419            0 :                     tree res_op1;
    3420            0 :                     res_op1 = captures[2];
    3421            0 :                     tree _r;
    3422            0 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3423            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 857, __FILE__, __LINE__, true);
    3424            0 :                     return _r;
    3425              :                   }
    3426            0 : next_after_fail1079:;
    3427              :                 }
    3428              :             }
    3429              :           }
    3430              :         break;
    3431              :       }
    3432      1321191 :     CASE_CONVERT:
    3433      1321191 :       {
    3434      1321191 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3435      1321191 :         switch (TREE_CODE (_q20))
    3436              :           {
    3437           58 :           case RSHIFT_EXPR:
    3438           58 :             {
    3439           58 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3440           58 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3441           58 :               switch (TREE_CODE (_q31))
    3442              :                 {
    3443           43 :                 case INTEGER_CST:
    3444           43 :                   {
    3445           43 :                     {
    3446           43 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3447           43 :                       tree res = generic_simplify_516 (loc, type, _p0, captures);
    3448           43 :                       if (res) return res;
    3449              :                     }
    3450           36 :                     break;
    3451              :                   }
    3452              :                 default:;
    3453              :                 }
    3454              :               break;
    3455              :             }
    3456          207 :           case NEGATE_EXPR:
    3457          207 :             {
    3458          207 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3459          207 :               {
    3460          207 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3461          207 :                 if (!TYPE_SATURATING (type)
    3462              : )
    3463              :                   {
    3464          207 :                     if (INTEGRAL_TYPE_P (type)
    3465          207 :  && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    3466           17 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3467           32 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    3468          206 :  && !TYPE_OVERFLOW_SANITIZED (type)
    3469          429 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    3470              : )
    3471              :                       {
    3472          206 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1080;
    3473          206 :                         {
    3474          206 :                           tree res_op0;
    3475          206 :                           res_op0 = captures[0];
    3476          206 :                           tree _r;
    3477          206 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3478          206 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 858, __FILE__, __LINE__, true);
    3479          206 :                           return _r;
    3480              :                         }
    3481            0 : next_after_fail1080:;
    3482              :                       }
    3483              :                   }
    3484              :               }
    3485              :               break;
    3486              :             }
    3487      1320978 :           default:;
    3488              :           }
    3489      1320978 :       {
    3490      1320978 :         tree _q20_pops[1];
    3491      1320978 :         if (tree_logical_inverted_value (_q20, _q20_pops))
    3492              :           {
    3493            1 :             tree _q30 = _q20_pops[0];
    3494            1 :             {
    3495            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3496            1 :               if (INTEGRAL_TYPE_P (type)
    3497            1 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3498            1 :  && TYPE_PRECISION (type) > 1
    3499            1 :  && TREE_CODE (captures[2]) == SSA_NAME
    3500            1 :  && ssa_name_has_boolean_range (captures[2])
    3501              : )
    3502              :                 {
    3503            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1081;
    3504            0 :                   {
    3505            0 :                     tree res_op0;
    3506            0 :                     {
    3507            0 :                       tree _o1[1], _r1;
    3508            0 :                       _o1[0] = captures[2];
    3509            0 :                       if (TREE_TYPE (_o1[0]) != type)
    3510              :                         {
    3511            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3512              :                         }
    3513              :                       else
    3514              :                         _r1 = _o1[0];
    3515            0 :                       res_op0 = _r1;
    3516              :                     }
    3517            0 :                     tree res_op1;
    3518            0 :                     res_op1 =  build_all_ones_cst (type);
    3519            0 :                     tree _r;
    3520            0 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3521            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 859, __FILE__, __LINE__, true);
    3522            0 :                     return _r;
    3523              :                   }
    3524            0 : next_after_fail1081:;
    3525              :                 }
    3526              :             }
    3527              :           }
    3528              :       }
    3529      1320978 :       if (tree_negate_expr_p (_q20))
    3530              :         {
    3531         1592 :           {
    3532         1592 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3533         1592 :             if (!TYPE_SATURATING (type)
    3534              : )
    3535              :               {
    3536         1592 :                 if (SCALAR_FLOAT_TYPE_P (type)
    3537         1592 :  && ((DECIMAL_FLOAT_TYPE_P (type)
    3538            0 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    3539            0 :  && TYPE_PRECISION (type) >= TYPE_PRECISION (TREE_TYPE (captures[0])))
    3540            0 :  || !HONOR_SIGN_DEPENDENT_ROUNDING (type))
    3541              : )
    3542              :                   {
    3543            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1082;
    3544            0 :                     {
    3545            0 :                       tree res_op0;
    3546            0 :                       {
    3547            0 :                         tree _o1[1], _r1;
    3548            0 :                         _o1[0] = captures[0];
    3549            0 :                         _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3550            0 :                         res_op0 = _r1;
    3551              :                       }
    3552            0 :                       tree _r;
    3553            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3554            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 860, __FILE__, __LINE__, true);
    3555            0 :                       return _r;
    3556              :                     }
    3557            0 : next_after_fail1082:;
    3558              :                   }
    3559              :               }
    3560              :           }
    3561              :         }
    3562              :         break;
    3563              :       }
    3564          384 :     case RSHIFT_EXPR:
    3565          384 :       {
    3566          384 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3567          384 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3568          384 :         switch (TREE_CODE (_q21))
    3569              :           {
    3570          366 :           case INTEGER_CST:
    3571          366 :             {
    3572          366 :               {
    3573          366 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3574          366 :                 tree res = generic_simplify_516 (loc, type, _p0, captures);
    3575          366 :                 if (res) return res;
    3576              :               }
    3577          329 :               break;
    3578              :             }
    3579              :           default:;
    3580              :           }
    3581              :         break;
    3582              :       }
    3583          147 :     case BIT_NOT_EXPR:
    3584          147 :       {
    3585          147 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3586          147 :         {
    3587          147 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3588          147 :           tree res = generic_simplify_513 (loc, type, _p0, captures);
    3589          147 :           if (res) return res;
    3590              :         }
    3591            0 :         break;
    3592              :       }
    3593         3769 :     case NEGATE_EXPR:
    3594         3769 :       {
    3595         3769 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3596         3769 :         {
    3597         3769 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3598         3769 :           tree res = generic_simplify_514 (loc, type, _p0, captures);
    3599         3769 :           if (res) return res;
    3600              :         }
    3601           13 :         break;
    3602              :       }
    3603           72 :     case VEC_COND_EXPR:
    3604           72 :       {
    3605           72 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3606           72 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3607           72 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3608           72 :         {
    3609           72 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3610           72 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1083;
    3611           72 :           {
    3612           72 :             tree res_op0;
    3613           72 :             res_op0 = captures[1];
    3614           72 :             tree res_op1;
    3615           72 :             {
    3616           72 :               tree _o1[1], _r1;
    3617           72 :               _o1[0] = captures[2];
    3618           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3619           72 :               if (EXPR_P (_r1))
    3620            0 :                 goto next_after_fail1083;
    3621           72 :               res_op1 = _r1;
    3622              :             }
    3623           72 :             tree res_op2;
    3624           72 :             {
    3625           72 :               tree _o1[1], _r1;
    3626           72 :               _o1[0] = captures[3];
    3627           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3628           72 :               if (EXPR_P (_r1))
    3629            0 :                 goto next_after_fail1083;
    3630           72 :               res_op2 = _r1;
    3631              :             }
    3632           72 :             tree _r;
    3633           72 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3634           72 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 827, __FILE__, __LINE__, true);
    3635           72 :             return _r;
    3636              :           }
    3637            0 : next_after_fail1083:;
    3638              :         }
    3639            0 :         break;
    3640              :       }
    3641       267506 :     case CALL_EXPR:
    3642       267506 :       switch (get_call_combined_fn (_p0))
    3643              :         {
    3644           12 :         case CFN_BUILT_IN_FMA:
    3645           12 :           if (call_expr_nargs (_p0) == 3)
    3646              :     {
    3647           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3648           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3649           12 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3650           12 :               {
    3651           12 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3652           12 :                 tree res = generic_simplify_517 (loc, type, _p0, captures, CFN_BUILT_IN_FMA);
    3653           12 :                 if (res) return res;
    3654              :               }
    3655              :             }
    3656              :           break;
    3657            0 :         case CFN_COND_FMA:
    3658            0 :           if (call_expr_nargs (_p0) == 5)
    3659              :     {
    3660            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3661            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3662            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3663            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3664            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3665            0 :               {
    3666            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3667            0 :                 const combined_fn fmas = CFN_COND_FMA;
    3668            0 :                 if (canonicalize_math_after_vectorization_p ()
    3669              : )
    3670              :                   {
    3671              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3672              : )
    3673              :                       {
    3674              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
    3675              :                         {
    3676              :                           tree res_op0;
    3677              :                           res_op0 = captures[1];
    3678              :                           tree res_op1;
    3679              :                           res_op1 = captures[2];
    3680              :                           tree res_op2;
    3681              :                           res_op2 = captures[3];
    3682              :                           tree res_op3;
    3683              :                           res_op3 = captures[4];
    3684              :                           tree res_op4;
    3685              :                           res_op4 = captures[5];
    3686              :                           tree _r;
    3687              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3688              :                           if (!_r)
    3689              :                             goto next_after_fail1084;
    3690              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 861, __FILE__, __LINE__, true);
    3691              :                           return _r;
    3692              :                         }
    3693            0 : next_after_fail1084:;
    3694              :                       }
    3695              :                   }
    3696              :               }
    3697              :             }
    3698              :           break;
    3699            4 :         case CFN_BUILT_IN_FMAF:
    3700            4 :           if (call_expr_nargs (_p0) == 3)
    3701              :     {
    3702            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3703            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3704            4 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3705            4 :               {
    3706            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3707            4 :                 tree res = generic_simplify_517 (loc, type, _p0, captures, CFN_BUILT_IN_FMAF);
    3708            4 :                 if (res) return res;
    3709              :               }
    3710              :             }
    3711              :           break;
    3712            0 :         case CFN_BUILT_IN_FMAL:
    3713            0 :           if (call_expr_nargs (_p0) == 3)
    3714              :     {
    3715            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3716            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3717            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3718            0 :               {
    3719            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3720            0 :                 tree res = generic_simplify_517 (loc, type, _p0, captures, CFN_BUILT_IN_FMAL);
    3721            0 :                 if (res) return res;
    3722              :               }
    3723              :             }
    3724              :           break;
    3725            0 :         case CFN_FMA:
    3726            0 :           if (call_expr_nargs (_p0) == 3)
    3727              :     {
    3728            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3729            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3730            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3731            0 :               {
    3732            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3733            0 :                 tree res = generic_simplify_517 (loc, type, _p0, captures, CFN_FMA);
    3734            0 :                 if (res) return res;
    3735              :               }
    3736              :             }
    3737              :           break;
    3738            0 :         case CFN_FMS:
    3739            0 :           if (call_expr_nargs (_p0) == 3)
    3740              :     {
    3741            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3742            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3743            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3744            0 :               {
    3745            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3746            0 :                 if (canonicalize_math_after_vectorization_p ()
    3747              : )
    3748              :                   {
    3749              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3750              : )
    3751              :                       {
    3752              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1085;
    3753              :                         {
    3754              :                           tree res_op0;
    3755              :                           res_op0 = captures[1];
    3756              :                           tree res_op1;
    3757              :                           res_op1 = captures[2];
    3758              :                           tree res_op2;
    3759              :                           res_op2 = captures[3];
    3760              :                           tree _r;
    3761              :                           _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3762              :                           if (!_r)
    3763              :                             goto next_after_fail1085;
    3764              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3765              :                           return _r;
    3766              :                         }
    3767            0 : next_after_fail1085:;
    3768              :                       }
    3769              :                   }
    3770              :               }
    3771              :             }
    3772            0 :           if (call_expr_nargs (_p0) == 5)
    3773              :     {
    3774            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3775            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3776            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3777            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3778            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3779            0 :               {
    3780            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3781            0 :                 if (canonicalize_math_after_vectorization_p ()
    3782              : )
    3783              :                   {
    3784              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3785              : )
    3786              :                       {
    3787              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
    3788              :                         {
    3789              :                           tree res_op0;
    3790              :                           res_op0 = captures[1];
    3791              :                           tree res_op1;
    3792              :                           res_op1 = captures[2];
    3793              :                           tree res_op2;
    3794              :                           res_op2 = captures[3];
    3795              :                           tree res_op3;
    3796              :                           res_op3 = captures[4];
    3797              :                           tree res_op4;
    3798              :                           res_op4 = captures[5];
    3799              :                           tree _r;
    3800              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3801              :                           if (!_r)
    3802              :                             goto next_after_fail1086;
    3803              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3804              :                           return _r;
    3805              :                         }
    3806            0 : next_after_fail1086:;
    3807              :                       }
    3808              :                   }
    3809              :               }
    3810              :             }
    3811              :           break;
    3812            0 :         case CFN_COND_FNMA:
    3813            0 :           if (call_expr_nargs (_p0) == 5)
    3814              :     {
    3815            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3816            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3817            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3818            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3819            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3820            0 :               {
    3821            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3822            0 :                 if (canonicalize_math_after_vectorization_p ()
    3823              : )
    3824              :                   {
    3825              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3826              : )
    3827              :                       {
    3828              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1087;
    3829              :                         {
    3830              :                           tree res_op0;
    3831              :                           res_op0 = captures[1];
    3832              :                           tree res_op1;
    3833              :                           res_op1 = captures[2];
    3834              :                           tree res_op2;
    3835              :                           res_op2 = captures[3];
    3836              :                           tree res_op3;
    3837              :                           res_op3 = captures[4];
    3838              :                           tree res_op4;
    3839              :                           res_op4 = captures[5];
    3840              :                           tree _r;
    3841              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3842              :                           if (!_r)
    3843              :                             goto next_after_fail1087;
    3844              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3845              :                           return _r;
    3846              :                         }
    3847            0 : next_after_fail1087:;
    3848              :                       }
    3849              :                   }
    3850              :               }
    3851              :             }
    3852              :           break;
    3853            0 :         case CFN_COND_FNMS:
    3854            0 :           if (call_expr_nargs (_p0) == 5)
    3855              :     {
    3856            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3857            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3858            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3859            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3860            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3861            0 :               {
    3862            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3863            0 :                 if (canonicalize_math_after_vectorization_p ()
    3864              : )
    3865              :                   {
    3866              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3867              : )
    3868              :                       {
    3869              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1088;
    3870              :                         {
    3871              :                           tree res_op0;
    3872              :                           res_op0 = captures[1];
    3873              :                           tree res_op1;
    3874              :                           res_op1 = captures[2];
    3875              :                           tree res_op2;
    3876              :                           res_op2 = captures[3];
    3877              :                           tree res_op3;
    3878              :                           res_op3 = captures[4];
    3879              :                           tree res_op4;
    3880              :                           res_op4 = captures[5];
    3881              :                           tree _r;
    3882              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3883              :                           if (!_r)
    3884              :                             goto next_after_fail1088;
    3885              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 865, __FILE__, __LINE__, true);
    3886              :                           return _r;
    3887              :                         }
    3888            0 : next_after_fail1088:;
    3889              :                       }
    3890              :                   }
    3891              :               }
    3892              :             }
    3893              :           break;
    3894            0 :         case CFN_FNMA:
    3895            0 :           if (call_expr_nargs (_p0) == 3)
    3896              :     {
    3897            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3898            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3899            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3900            0 :               {
    3901            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3902            0 :                 if (canonicalize_math_after_vectorization_p ()
    3903              : )
    3904              :                   {
    3905              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3906              : )
    3907              :                       {
    3908              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1089;
    3909              :                         {
    3910              :                           tree res_op0;
    3911              :                           res_op0 = captures[1];
    3912              :                           tree res_op1;
    3913              :                           res_op1 = captures[2];
    3914              :                           tree res_op2;
    3915              :                           res_op2 = captures[3];
    3916              :                           tree _r;
    3917              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3918              :                           if (!_r)
    3919              :                             goto next_after_fail1089;
    3920              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 866, __FILE__, __LINE__, true);
    3921              :                           return _r;
    3922              :                         }
    3923            0 : next_after_fail1089:;
    3924              :                       }
    3925              :                   }
    3926              :               }
    3927              :             }
    3928              :           break;
    3929            0 :         case CFN_FNMS:
    3930            0 :           if (call_expr_nargs (_p0) == 3)
    3931              :     {
    3932            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3933            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3934            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3935            0 :               {
    3936            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3937            0 :                 if (canonicalize_math_after_vectorization_p ()
    3938              : )
    3939              :                   {
    3940              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3941              : )
    3942              :                       {
    3943              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1090;
    3944              :                         {
    3945              :                           tree res_op0;
    3946              :                           res_op0 = captures[1];
    3947              :                           tree res_op1;
    3948              :                           res_op1 = captures[2];
    3949              :                           tree res_op2;
    3950              :                           res_op2 = captures[3];
    3951              :                           tree _r;
    3952              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3953              :                           if (!_r)
    3954              :                             goto next_after_fail1090;
    3955              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3956              :                           return _r;
    3957              :                         }
    3958            0 : next_after_fail1090:;
    3959              :                       }
    3960              :                   }
    3961              :               }
    3962              :             }
    3963              :           break;
    3964              :         default:;
    3965              :         }
    3966              :       break;
    3967      4119565 :     default:;
    3968              :     }
    3969      4119565 : {
    3970      4119565 :   tree _p0_pops[1];
    3971      4119565 :   if (tree_nop_convert (_p0, _p0_pops))
    3972              :     {
    3973      1552053 :       tree _q20 = _p0_pops[0];
    3974      1552053 :       switch (TREE_CODE (_q20))
    3975              :         {
    3976            0 :         case POINTER_DIFF_EXPR:
    3977            0 :           {
    3978            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3979            0 :             tree _q31 = TREE_OPERAND (_q20, 1);
    3980            0 :             {
    3981            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    3982            0 :               tree res = generic_simplify_512 (loc, type, _p0, captures);
    3983            0 :               if (res) return res;
    3984              :             }
    3985            0 :             break;
    3986              :           }
    3987            0 :         case BIT_NOT_EXPR:
    3988            0 :           {
    3989            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3990            0 :             {
    3991            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3992            0 :               tree res = generic_simplify_513 (loc, type, _p0, captures);
    3993            0 :               if (res) return res;
    3994              :             }
    3995            0 :             break;
    3996              :           }
    3997            0 :         case NEGATE_EXPR:
    3998            0 :           {
    3999            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4000            0 :             {
    4001            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    4002            0 :               tree res = generic_simplify_514 (loc, type, _p0, captures);
    4003            0 :               if (res) return res;
    4004              :             }
    4005            0 :             break;
    4006              :           }
    4007              :         default:;
    4008              :         }
    4009              :     }
    4010              : }
    4011      4119565 : {
    4012      4119565 :   tree _p0_pops[1];
    4013      4119565 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    4014              :     {
    4015           70 :       tree _q20 = _p0_pops[0];
    4016           70 :       {
    4017           70 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    4018           70 :         if (INTEGRAL_TYPE_P (type)
    4019           70 :  && TREE_CODE (type) != BOOLEAN_TYPE
    4020           70 :  && TYPE_PRECISION (type) > 1
    4021           70 :  && TREE_CODE (captures[2]) == SSA_NAME
    4022           70 :  && ssa_name_has_boolean_range (captures[2])
    4023              : )
    4024              :           {
    4025            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1091;
    4026            0 :             {
    4027            0 :               tree res_op0;
    4028            0 :               {
    4029            0 :                 tree _o1[1], _r1;
    4030            0 :                 _o1[0] = captures[2];
    4031            0 :                 if (TREE_TYPE (_o1[0]) != type)
    4032              :                   {
    4033            0 :                     _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4034              :                   }
    4035              :                 else
    4036              :                   _r1 = _o1[0];
    4037            0 :                 res_op0 = _r1;
    4038              :               }
    4039            0 :               tree res_op1;
    4040            0 :               res_op1 =  build_all_ones_cst (type);
    4041            0 :               tree _r;
    4042            0 :               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4043            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 859, __FILE__, __LINE__, true);
    4044            0 :               return _r;
    4045              :             }
    4046            0 : next_after_fail1091:;
    4047              :           }
    4048              :       }
    4049              :     }
    4050              : }
    4051      4119565 :   {
    4052      4119565 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4053      4119565 :     tree res = generic_simplify_436 (loc, type, _p0, captures);
    4054      4119565 :     if (res) return res;
    4055              :   }
    4056      4105498 :   return NULL_TREE;
    4057              : }
    4058              : 
    4059              : tree
    4060     26705762 : generic_simplify_EQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4061              : {
    4062     26705762 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4063     26705762 :   switch (TREE_CODE (_p1))
    4064              :     {
    4065           68 :     case NEGATE_EXPR:
    4066           68 :       {
    4067           68 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4068           68 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4069              :           {
    4070            0 :             {
    4071            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4072            0 :               tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4073            0 :               if (res) return res;
    4074              :             }
    4075              :           }
    4076              :         break;
    4077              :       }
    4078     26705762 :     default:;
    4079              :     }
    4080     26705762 :   switch (TREE_CODE (_p0))
    4081              :     {
    4082         1032 :     case NEGATE_EXPR:
    4083         1032 :       {
    4084         1032 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4085         1032 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4086              :           {
    4087           83 :             {
    4088           83 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4089           83 :               tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4090           83 :               if (res) return res;
    4091              :             }
    4092              :           }
    4093              :         break;
    4094              :       }
    4095            0 :     case CEIL_MOD_EXPR:
    4096            0 :       {
    4097            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4098            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4099            0 :         if (integer_pow2p (_q21))
    4100              :           {
    4101            0 :             if (integer_zerop (_p1))
    4102              :               {
    4103            0 :                 {
    4104            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4105            0 :                   tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR, CEIL_MOD_EXPR);
    4106            0 :                   if (res) return res;
    4107              :                 }
    4108              :               }
    4109              :           }
    4110              :         break;
    4111              :       }
    4112          876 :     case FLOOR_MOD_EXPR:
    4113          876 :       {
    4114          876 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4115          876 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4116          876 :         if (integer_pow2p (_q21))
    4117              :           {
    4118           26 :             if (integer_zerop (_p1))
    4119              :               {
    4120           26 :                 {
    4121           26 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4122           26 :                   tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR, FLOOR_MOD_EXPR);
    4123           26 :                   if (res) return res;
    4124              :                 }
    4125              :               }
    4126              :           }
    4127              :         break;
    4128              :       }
    4129            0 :     case ROUND_MOD_EXPR:
    4130            0 :       {
    4131            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4132            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4133            0 :         if (integer_pow2p (_q21))
    4134              :           {
    4135            0 :             if (integer_zerop (_p1))
    4136              :               {
    4137            0 :                 {
    4138            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4139            0 :                   tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR, ROUND_MOD_EXPR);
    4140            0 :                   if (res) return res;
    4141              :                 }
    4142              :               }
    4143              :           }
    4144              :         break;
    4145              :       }
    4146        90453 :     case TRUNC_MOD_EXPR:
    4147        90453 :       {
    4148        90453 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4149        90453 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4150        90453 :         if (integer_pow2p (_q21))
    4151              :           {
    4152        38745 :             if (integer_zerop (_p1))
    4153              :               {
    4154          549 :                 {
    4155          549 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4156          549 :                   tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, EQ_EXPR, TRUNC_MOD_EXPR);
    4157          549 :                   if (res) return res;
    4158              :                 }
    4159              :               }
    4160              :           }
    4161              :         break;
    4162              :       }
    4163      4895121 :     CASE_CONVERT:
    4164      4895121 :       {
    4165      4895121 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4166      4895121 :         switch (TREE_CODE (_p1))
    4167              :           {
    4168            2 :           case LSHIFT_EXPR:
    4169            2 :             {
    4170            2 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4171            2 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4172            2 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4173              :                 {
    4174            0 :                   {
    4175            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4176            0 :                     tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4177            0 :                     if (res) return res;
    4178              :                   }
    4179              :                 }
    4180              :               break;
    4181              :             }
    4182      4895121 :           default:;
    4183              :           }
    4184      4895121 :       {
    4185      4895121 :         tree _p1_pops[1];
    4186      4895121 :         if (tree_nop_convert (_p1, _p1_pops))
    4187              :           {
    4188       853586 :             tree _q40 = _p1_pops[0];
    4189       853586 :             switch (TREE_CODE (_q40))
    4190              :               {
    4191            0 :               case LSHIFT_EXPR:
    4192            0 :                 {
    4193            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4194            0 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4195            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4196              :                     {
    4197            0 :                       {
    4198            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    4199            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4200            0 :                         if (res) return res;
    4201              :                       }
    4202              :                     }
    4203              :                   break;
    4204              :                 }
    4205              :               default:;
    4206              :               }
    4207              :           }
    4208              :       }
    4209      4895121 :         switch (TREE_CODE (_q20))
    4210              :           {
    4211           82 :           case EXACT_DIV_EXPR:
    4212           82 :             {
    4213           82 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4214           82 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4215           82 :               switch (TREE_CODE (_q31))
    4216              :                 {
    4217           82 :                 case INTEGER_CST:
    4218           82 :                   {
    4219           82 :                     switch (TREE_CODE (_p1))
    4220              :                       {
    4221            0 :                       CASE_CONVERT:
    4222            0 :                         {
    4223            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4224            0 :                           switch (TREE_CODE (_q60))
    4225              :                             {
    4226            0 :                             case EXACT_DIV_EXPR:
    4227            0 :                               {
    4228            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4229            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4230            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4231              :                                   {
    4232            0 :                                     {
    4233            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    4234            0 :                                       tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4235            0 :                                       if (res) return res;
    4236              :                                     }
    4237              :                                   }
    4238              :                                 break;
    4239              :                               }
    4240              :                             default:;
    4241              :                             }
    4242              :                           break;
    4243              :                         }
    4244              :                       default:;
    4245              :                       }
    4246              :                     break;
    4247              :                   }
    4248              :                 default:;
    4249              :                 }
    4250              :               break;
    4251              :             }
    4252      4895121 :           default:;
    4253              :           }
    4254      4895121 :         switch (TREE_CODE (_p1))
    4255              :           {
    4256        30006 :           case PLUS_EXPR:
    4257        30006 :             {
    4258        30006 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4259        30006 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4260        30006 :               switch (TREE_CODE (_q41))
    4261              :                 {
    4262           26 :                 CASE_CONVERT:
    4263           26 :                   {
    4264           26 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    4265           26 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4266              :                       {
    4267            0 :                         {
    4268            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4269            0 :                           tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4270            0 :                           if (res) return res;
    4271              :                         }
    4272              :                       }
    4273              :                     break;
    4274              :                   }
    4275        30006 :                 default:;
    4276              :                 }
    4277        30006 :               switch (TREE_CODE (_q40))
    4278              :                 {
    4279         4003 :                 CASE_CONVERT:
    4280         4003 :                   {
    4281         4003 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4282         4003 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4283              :                       {
    4284            0 :                         {
    4285            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4286            0 :                           tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4287            0 :                           if (res) return res;
    4288              :                         }
    4289              :                       }
    4290              :                     break;
    4291              :                   }
    4292        30006 :                 default:;
    4293              :                 }
    4294        30006 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4295              :                 {
    4296            0 :                   {
    4297            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4298            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4299            0 :                     if (res) return res;
    4300              :                   }
    4301              :                 }
    4302        30006 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4303              :                 {
    4304            0 :                   {
    4305            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4306            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4307            0 :                     if (res) return res;
    4308              :                   }
    4309              :                 }
    4310              :               break;
    4311              :             }
    4312      4895121 :           default:;
    4313              :           }
    4314      4895121 :       {
    4315      4895121 :         tree _p1_pops[1];
    4316      4895121 :         if (tree_nop_convert (_p1, _p1_pops))
    4317              :           {
    4318       853586 :             tree _q40 = _p1_pops[0];
    4319       853586 :             switch (TREE_CODE (_q40))
    4320              :               {
    4321          472 :               case PLUS_EXPR:
    4322          472 :                 {
    4323          472 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4324          472 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4325          472 :                   switch (TREE_CODE (_q51))
    4326              :                     {
    4327            0 :                     CASE_CONVERT:
    4328            0 :                       {
    4329            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4330            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4331              :                           {
    4332            0 :                             {
    4333            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4334            0 :                               tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4335            0 :                               if (res) return res;
    4336              :                             }
    4337              :                           }
    4338              :                         break;
    4339              :                       }
    4340          472 :                     default:;
    4341              :                     }
    4342          472 :                   switch (TREE_CODE (_q50))
    4343              :                     {
    4344          403 :                     CASE_CONVERT:
    4345          403 :                       {
    4346          403 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    4347          403 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4348              :                           {
    4349            0 :                             {
    4350            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4351            0 :                               tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4352            0 :                               if (res) return res;
    4353              :                             }
    4354              :                           }
    4355              :                         break;
    4356              :                       }
    4357          472 :                     default:;
    4358              :                     }
    4359          472 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4360              :                     {
    4361            0 :                       {
    4362            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4363            0 :                         tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4364            0 :                         if (res) return res;
    4365              :                       }
    4366              :                     }
    4367          472 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4368              :                     {
    4369            0 :                       {
    4370            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4371            0 :                         tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4372            0 :                         if (res) return res;
    4373              :                       }
    4374              :                     }
    4375              :                   break;
    4376              :                 }
    4377              :               default:;
    4378              :               }
    4379              :           }
    4380              :       }
    4381      4895121 :         break;
    4382              :       }
    4383     26705184 :     default:;
    4384              :     }
    4385     26705184 : {
    4386     26705184 :   tree _p0_pops[1];
    4387     26705184 :   if (tree_nop_convert (_p0, _p0_pops))
    4388              :     {
    4389      2817926 :       tree _q20 = _p0_pops[0];
    4390      2817926 :       switch (TREE_CODE (_q20))
    4391              :         {
    4392            1 :         case LSHIFT_EXPR:
    4393            1 :           {
    4394            1 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4395            1 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4396            1 :             switch (TREE_CODE (_p1))
    4397              :               {
    4398            0 :               CASE_CONVERT:
    4399            0 :                 {
    4400            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4401            0 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4402              :                     {
    4403            0 :                       {
    4404            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4405            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4406            0 :                         if (res) return res;
    4407              :                       }
    4408              :                     }
    4409              :                   break;
    4410              :                 }
    4411            1 :               default:;
    4412              :               }
    4413            1 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4414              :               {
    4415            1 :                 {
    4416            1 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4417            1 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4418            1 :                   if (res) return res;
    4419              :                 }
    4420              :               }
    4421              :             break;
    4422              :           }
    4423         2404 :         case PLUS_EXPR:
    4424         2404 :           {
    4425         2404 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4426         2404 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4427         2404 :             switch (TREE_CODE (_q31))
    4428              :               {
    4429            0 :               CASE_CONVERT:
    4430            0 :                 {
    4431            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4432            0 :                   switch (TREE_CODE (_p1))
    4433              :                     {
    4434            0 :                     CASE_CONVERT:
    4435            0 :                       {
    4436            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4437            0 :                         if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    4438              :                           {
    4439            0 :                             {
    4440            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4441            0 :                               tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4442            0 :                               if (res) return res;
    4443              :                             }
    4444              :                           }
    4445              :                         break;
    4446              :                       }
    4447              :                     default:;
    4448              :                     }
    4449              :                   break;
    4450              :                 }
    4451         2404 :               default:;
    4452              :               }
    4453         2404 :             switch (TREE_CODE (_q30))
    4454              :               {
    4455         1217 :               CASE_CONVERT:
    4456         1217 :                 {
    4457         1217 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4458         1217 :                   switch (TREE_CODE (_p1))
    4459              :                     {
    4460           10 :                     CASE_CONVERT:
    4461           10 :                       {
    4462           10 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4463           10 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    4464              :                           {
    4465            0 :                             {
    4466            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4467            0 :                               tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4468            0 :                               if (res) return res;
    4469              :                             }
    4470              :                           }
    4471              :                         break;
    4472              :                       }
    4473         1217 :                     default:;
    4474              :                     }
    4475         1217 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4476              :                     {
    4477            0 :                       {
    4478            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4479            0 :                         tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4480            0 :                         if (res) return res;
    4481              :                       }
    4482              :                     }
    4483              :                   break;
    4484              :                 }
    4485         2404 :               default:;
    4486              :               }
    4487         2404 :             switch (TREE_CODE (_q31))
    4488              :               {
    4489            0 :               CASE_CONVERT:
    4490            0 :                 {
    4491            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4492            0 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4493              :                     {
    4494            0 :                       {
    4495            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4496            0 :                         tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4497            0 :                         if (res) return res;
    4498              :                       }
    4499              :                     }
    4500              :                   break;
    4501              :                 }
    4502         2404 :               default:;
    4503              :               }
    4504         2404 :             switch (TREE_CODE (_p1))
    4505              :               {
    4506           79 :               CASE_CONVERT:
    4507           79 :                 {
    4508           79 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4509           79 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4510              :                     {
    4511            0 :                       {
    4512            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4513            0 :                         tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4514            0 :                         if (res) return res;
    4515              :                       }
    4516              :                     }
    4517           79 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4518              :                     {
    4519            0 :                       {
    4520            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4521            0 :                         tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4522            0 :                         if (res) return res;
    4523              :                       }
    4524              :                     }
    4525              :                   break;
    4526              :                 }
    4527         2404 :               default:;
    4528              :               }
    4529         2404 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4530              :               {
    4531            0 :                 {
    4532            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4533            0 :                   tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4534            0 :                   if (res) return res;
    4535              :                 }
    4536              :               }
    4537         2404 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4538              :               {
    4539            0 :                 {
    4540            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4541            0 :                   tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4542            0 :                   if (res) return res;
    4543              :                 }
    4544              :               }
    4545              :             break;
    4546              :           }
    4547              :         default:;
    4548              :         }
    4549              :     }
    4550              : }
    4551     26705183 :   {
    4552     26705183 :     tree _p1_pops[1];
    4553     26705183 :     if (tree_nop_convert (_p1, _p1_pops))
    4554              :       {
    4555      1082514 :         tree _q30 = _p1_pops[0];
    4556      1082514 :         switch (TREE_CODE (_q30))
    4557              :           {
    4558            0 :           case LSHIFT_EXPR:
    4559            0 :             {
    4560            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4561            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4562            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    4563              :                 {
    4564            0 :                   {
    4565            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    4566            0 :                     tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4567            0 :                     if (res) return res;
    4568              :                   }
    4569              :                 }
    4570              :               break;
    4571              :             }
    4572              :           default:;
    4573              :           }
    4574              :       }
    4575              :   }
    4576     26705183 :   switch (TREE_CODE (_p0))
    4577              :     {
    4578         1735 :     case LSHIFT_EXPR:
    4579         1735 :       {
    4580         1735 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4581         1735 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4582         1735 :         switch (TREE_CODE (_p1))
    4583              :           {
    4584           61 :           CASE_CONVERT:
    4585           61 :             {
    4586           61 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4587           61 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4588              :                 {
    4589            4 :                   {
    4590            4 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4591            4 :                     tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4592            4 :                     if (res) return res;
    4593              :                   }
    4594              :                 }
    4595              :               break;
    4596              :             }
    4597         1734 :           default:;
    4598              :           }
    4599         1734 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4600              :           {
    4601           27 :             {
    4602           27 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4603           27 :               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4604           27 :               if (res) return res;
    4605              :             }
    4606              :           }
    4607         1730 :         if (tree_zero_one_valued_p (_q20))
    4608              :           {
    4609          233 :             switch (TREE_CODE (_q21))
    4610              :               {
    4611           10 :               case INTEGER_CST:
    4612           10 :                 {
    4613           10 :                   if (integer_zerop (_p1))
    4614              :                     {
    4615            2 :                       {
    4616            2 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4617            2 :                         if (tree_fits_shwi_p (captures[1])
    4618            2 :  && tree_to_shwi (captures[1]) > 0
    4619            4 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    4620              : )
    4621              :                           {
    4622            2 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1487;
    4623            2 :                             {
    4624            2 :                               tree res_op0;
    4625            2 :                               res_op0 = captures[0];
    4626            2 :                               tree res_op1;
    4627            2 :                               res_op1 = captures[2];
    4628            2 :                               tree _r;
    4629            2 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    4630            2 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    4631            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4632            2 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 980, __FILE__, __LINE__, true);
    4633            2 :                               return _r;
    4634              :                             }
    4635            0 : next_after_fail1487:;
    4636              :                           }
    4637              :                       }
    4638              :                     }
    4639              :                   break;
    4640              :                 }
    4641              :               default:;
    4642              :               }
    4643              :           }
    4644              :         break;
    4645              :       }
    4646     26705176 :     default:;
    4647              :     }
    4648     26705176 :   switch (TREE_CODE (_p1))
    4649              :     {
    4650          154 :     case LSHIFT_EXPR:
    4651          154 :       {
    4652          154 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4653          154 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4654          154 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4655              :           {
    4656            0 :             {
    4657            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4658            0 :               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4659            0 :               if (res) return res;
    4660              :             }
    4661              :           }
    4662              :         break;
    4663              :       }
    4664     26705176 :     default:;
    4665              :     }
    4666     26705176 :   switch (TREE_CODE (_p0))
    4667              :     {
    4668        45863 :     case VIEW_CONVERT_EXPR:
    4669        45863 :       {
    4670        45863 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4671        45863 :         if (tree_zero_one_valued_p (_q20))
    4672              :           {
    4673            0 :             if (integer_zerop (_p1))
    4674              :               {
    4675            0 :                 {
    4676            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4677            0 :                   tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4678            0 :                   if (res) return res;
    4679              :                 }
    4680              :               }
    4681              :           }
    4682              :         break;
    4683              :       }
    4684        16730 :     case RSHIFT_EXPR:
    4685        16730 :       {
    4686        16730 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4687        16730 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4688        16730 :         switch (TREE_CODE (_q21))
    4689              :           {
    4690        15745 :           case INTEGER_CST:
    4691        15745 :             {
    4692        15745 :               switch (TREE_CODE (_p1))
    4693              :                 {
    4694           60 :                 case RSHIFT_EXPR:
    4695           60 :                   {
    4696           60 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4697           60 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4698           60 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4699              :                       {
    4700           16 :                         switch (TREE_CODE (_q51))
    4701              :                           {
    4702           16 :                           case INTEGER_CST:
    4703           16 :                             {
    4704           16 :                               {
    4705           16 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4706           16 :                                 tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    4707           16 :                                 if (res) return res;
    4708              :                               }
    4709           15 :                               break;
    4710              :                             }
    4711              :                           default:;
    4712              :                           }
    4713              :                       }
    4714              :                     break;
    4715              :                   }
    4716        15744 :                 default:;
    4717              :                 }
    4718        15744 :             if (integer_zerop (_p1))
    4719              :               {
    4720         1512 :                 {
    4721         1512 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4722         1512 :                   tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    4723         1512 :                   if (res) return res;
    4724              :                 }
    4725              :               }
    4726              :               break;
    4727              :             }
    4728              :           default:;
    4729              :           }
    4730              :         break;
    4731              :       }
    4732       826147 :     case BIT_AND_EXPR:
    4733       826147 :       {
    4734       826147 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4735       826147 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4736       826147 :         if (tree_truth_valued_p (_q20))
    4737              :           {
    4738           21 :             if (tree_truth_valued_p (_q21))
    4739              :               {
    4740           20 :                 switch (TREE_CODE (_p1))
    4741              :                   {
    4742            0 :                   case BIT_XOR_EXPR:
    4743            0 :                     {
    4744            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    4745            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    4746            0 :                       if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4747              :                         {
    4748            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4749              :                             {
    4750            0 :                               {
    4751            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4752            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1488;
    4753            0 :                                 {
    4754            0 :                                   tree res_op0;
    4755            0 :                                   {
    4756            0 :                                     tree _o1[2], _r1;
    4757            0 :                                     _o1[0] = captures[0];
    4758            0 :                                     _o1[1] = captures[1];
    4759            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4760            0 :                                     res_op0 = _r1;
    4761              :                                   }
    4762            0 :                                   tree _r;
    4763            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4764            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    4765            0 :                                   return _r;
    4766              :                                 }
    4767            0 : next_after_fail1488:;
    4768              :                               }
    4769              :                             }
    4770              :                         }
    4771            0 :                       if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4772              :                         {
    4773            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4774              :                             {
    4775            0 :                               {
    4776            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    4777            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1489;
    4778            0 :                                 {
    4779            0 :                                   tree res_op0;
    4780            0 :                                   {
    4781            0 :                                     tree _o1[2], _r1;
    4782            0 :                                     _o1[0] = captures[0];
    4783            0 :                                     _o1[1] = captures[1];
    4784            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4785            0 :                                     res_op0 = _r1;
    4786              :                                   }
    4787            0 :                                   tree _r;
    4788            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4789            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    4790            0 :                                   return _r;
    4791              :                                 }
    4792            0 : next_after_fail1489:;
    4793              :                               }
    4794              :                             }
    4795              :                         }
    4796              :                       break;
    4797              :                     }
    4798              :                   default:;
    4799              :                   }
    4800              :               }
    4801              :           }
    4802              :         break;
    4803              :       }
    4804          581 :     case BIT_XOR_EXPR:
    4805          581 :       {
    4806          581 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4807          581 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4808          581 :         switch (TREE_CODE (_p1))
    4809              :           {
    4810            0 :           case BIT_AND_EXPR:
    4811            0 :             {
    4812            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4813            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4814            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4815              :                 {
    4816            0 :                   if (tree_truth_valued_p (_q50))
    4817              :                     {
    4818            0 :                       if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4819              :                         {
    4820            0 :                           if (tree_truth_valued_p (_q51))
    4821              :                             {
    4822            0 :                               {
    4823            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4824            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1490;
    4825            0 :                                 {
    4826            0 :                                   tree res_op0;
    4827            0 :                                   {
    4828            0 :                                     tree _o1[2], _r1;
    4829            0 :                                     _o1[0] = captures[0];
    4830            0 :                                     _o1[1] = captures[1];
    4831            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4832            0 :                                     res_op0 = _r1;
    4833              :                                   }
    4834            0 :                                   tree _r;
    4835            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4836            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    4837            0 :                                   return _r;
    4838              :                                 }
    4839            0 : next_after_fail1490:;
    4840              :                               }
    4841              :                             }
    4842              :                         }
    4843              :                     }
    4844              :                 }
    4845            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4846              :                 {
    4847            0 :                   if (tree_truth_valued_p (_q50))
    4848              :                     {
    4849            0 :                       if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4850              :                         {
    4851            0 :                           if (tree_truth_valued_p (_q51))
    4852              :                             {
    4853            0 :                               {
    4854            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4855            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1491;
    4856            0 :                                 {
    4857            0 :                                   tree res_op0;
    4858            0 :                                   {
    4859            0 :                                     tree _o1[2], _r1;
    4860            0 :                                     _o1[0] = captures[0];
    4861            0 :                                     _o1[1] = captures[1];
    4862            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4863            0 :                                     res_op0 = _r1;
    4864              :                                   }
    4865            0 :                                   tree _r;
    4866            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4867            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    4868            0 :                                   return _r;
    4869              :                                 }
    4870            0 : next_after_fail1491:;
    4871              :                               }
    4872              :                             }
    4873              :                         }
    4874              :                     }
    4875              :                 }
    4876              :               break;
    4877              :             }
    4878              :           default:;
    4879              :           }
    4880              :         break;
    4881              :       }
    4882          404 :     case BIT_NOT_EXPR:
    4883          404 :       {
    4884          404 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4885          404 :         if (tree_truth_valued_p (_q20))
    4886              :           {
    4887            0 :             if (tree_truth_valued_p (_p1))
    4888              :               {
    4889            0 :                 {
    4890            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    4891            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures);
    4892            0 :                   if (res) return res;
    4893              :                 }
    4894              :               }
    4895              :           }
    4896              :         break;
    4897              :       }
    4898        64977 :     case MULT_EXPR:
    4899        64977 :       {
    4900        64977 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4901        64977 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4902        64977 :         switch (TREE_CODE (_p1))
    4903              :           {
    4904          879 :           case MULT_EXPR:
    4905          879 :             {
    4906          879 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4907          879 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4908          879 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4909              :                 {
    4910          568 :                   {
    4911          568 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4912          568 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4913          568 :                     if (res) return res;
    4914              :                   }
    4915              :                 }
    4916          871 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4917              :                 {
    4918            0 :                   {
    4919            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4920            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4921            0 :                     if (res) return res;
    4922              :                   }
    4923              :                 }
    4924          871 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4925              :                 {
    4926            0 :                   {
    4927            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4928            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4929            0 :                     if (res) return res;
    4930              :                   }
    4931              :                 }
    4932          871 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4933              :                 {
    4934           19 :                   {
    4935           19 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4936           19 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4937           19 :                     if (res) return res;
    4938              :                   }
    4939              :                 }
    4940              :               break;
    4941              :             }
    4942        64969 :           default:;
    4943              :           }
    4944        64969 :         switch (TREE_CODE (_q21))
    4945              :           {
    4946        57159 :           case INTEGER_CST:
    4947        57159 :             {
    4948        57159 :               switch (TREE_CODE (_p1))
    4949              :                 {
    4950          834 :                 case MULT_EXPR:
    4951          834 :                   {
    4952          834 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4953          834 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4954          834 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4955              :                       {
    4956          528 :                         {
    4957          528 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4958          528 :                           tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4959          528 :                           if (res) return res;
    4960              :                         }
    4961              :                       }
    4962              :                     break;
    4963              :                   }
    4964              :                 default:;
    4965              :                 }
    4966              :               break;
    4967              :             }
    4968              :           default:;
    4969              :           }
    4970              :         break;
    4971              :       }
    4972         6719 :     case EXACT_DIV_EXPR:
    4973         6719 :       {
    4974         6719 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4975         6719 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4976         6719 :         switch (TREE_CODE (_q21))
    4977              :           {
    4978         6719 :           case INTEGER_CST:
    4979         6719 :             {
    4980         6719 :               switch (TREE_CODE (_p1))
    4981              :                 {
    4982            0 :                 case EXACT_DIV_EXPR:
    4983            0 :                   {
    4984            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4985            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4986            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4987              :                       {
    4988            0 :                         {
    4989            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    4990            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4991            0 :                           if (res) return res;
    4992              :                         }
    4993              :                       }
    4994              :                     break;
    4995              :                   }
    4996              :                 default:;
    4997              :                 }
    4998              :               break;
    4999              :             }
    5000              :           default:;
    5001              :           }
    5002              :         break;
    5003              :       }
    5004         5333 :     case TRUNC_DIV_EXPR:
    5005         5333 :       {
    5006         5333 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5007         5333 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5008         5333 :         switch (TREE_CODE (_q21))
    5009              :           {
    5010         3847 :           case INTEGER_CST:
    5011         3847 :             {
    5012         3847 :               switch (TREE_CODE (_p1))
    5013              :                 {
    5014          986 :                 case INTEGER_CST:
    5015          986 :                   {
    5016          986 :                     {
    5017          986 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5018          986 :                       tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5019          986 :                       if (res) return res;
    5020              :                     }
    5021           21 :                     break;
    5022              :                   }
    5023              :                 default:;
    5024              :                 }
    5025              :               break;
    5026              :             }
    5027              :           default:;
    5028              :           }
    5029              :         break;
    5030              :       }
    5031       649783 :     case PLUS_EXPR:
    5032       649783 :       {
    5033       649783 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5034       649783 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5035       649783 :         switch (TREE_CODE (_p1))
    5036              :           {
    5037        49687 :           case PLUS_EXPR:
    5038        49687 :             {
    5039        49687 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5040        49687 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5041        49687 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5042              :                 {
    5043          367 :                   {
    5044          367 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5045          734 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5046          662 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5047          261 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5048              : )
    5049              :                       {
    5050          295 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1492;
    5051          295 :                         {
    5052          295 :                           tree res_op0;
    5053          295 :                           res_op0 = captures[0];
    5054          295 :                           tree res_op1;
    5055          295 :                           res_op1 = captures[2];
    5056          295 :                           tree _r;
    5057          295 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5058          295 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5059            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5060          295 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    5061          295 :                           return _r;
    5062              :                         }
    5063            0 : next_after_fail1492:;
    5064              :                       }
    5065              :                   }
    5066              :                 }
    5067        49392 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5068              :                 {
    5069            2 :                   {
    5070            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5071            4 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5072            2 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5073            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5074              : )
    5075              :                       {
    5076            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1493;
    5077            0 :                         {
    5078            0 :                           tree res_op0;
    5079            0 :                           res_op0 = captures[0];
    5080            0 :                           tree res_op1;
    5081            0 :                           res_op1 = captures[2];
    5082            0 :                           tree _r;
    5083            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5084            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5085            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5086            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    5087            0 :                           return _r;
    5088              :                         }
    5089            0 : next_after_fail1493:;
    5090              :                       }
    5091              :                   }
    5092              :                 }
    5093        49392 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5094              :                 {
    5095            2 :                   {
    5096            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5097            4 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5098            2 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5099            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5100              : )
    5101              :                       {
    5102            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1494;
    5103            0 :                         {
    5104            0 :                           tree res_op0;
    5105            0 :                           res_op0 = captures[0];
    5106            0 :                           tree res_op1;
    5107            0 :                           res_op1 = captures[2];
    5108            0 :                           tree _r;
    5109            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5110            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5111            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5112            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    5113            0 :                           return _r;
    5114              :                         }
    5115            0 : next_after_fail1494:;
    5116              :                       }
    5117              :                   }
    5118              :                 }
    5119        49392 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5120              :                 {
    5121           47 :                   {
    5122           47 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5123           94 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5124           47 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5125            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5126              : )
    5127              :                       {
    5128            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1495;
    5129            0 :                         {
    5130            0 :                           tree res_op0;
    5131            0 :                           res_op0 = captures[0];
    5132            0 :                           tree res_op1;
    5133            0 :                           res_op1 = captures[2];
    5134            0 :                           tree _r;
    5135            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5136            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5137            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5138            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    5139            0 :                           return _r;
    5140              :                         }
    5141            0 : next_after_fail1495:;
    5142              :                       }
    5143              :                   }
    5144              :                 }
    5145              :               break;
    5146              :             }
    5147       649488 :           default:;
    5148              :           }
    5149       649488 :         switch (TREE_CODE (_q21))
    5150              :           {
    5151         2717 :           CASE_CONVERT:
    5152         2717 :             {
    5153         2717 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5154         2717 :               switch (TREE_CODE (_p1))
    5155              :                 {
    5156          158 :                 CASE_CONVERT:
    5157          158 :                   {
    5158          158 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5159          158 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    5160              :                       {
    5161            0 :                         {
    5162            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5163            0 :                           tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5164            0 :                           if (res) return res;
    5165              :                         }
    5166              :                       }
    5167              :                     break;
    5168              :                   }
    5169              :                 default:;
    5170              :                 }
    5171              :               break;
    5172              :             }
    5173       649488 :           default:;
    5174              :           }
    5175       649488 :         switch (TREE_CODE (_q20))
    5176              :           {
    5177        26318 :           CASE_CONVERT:
    5178        26318 :             {
    5179        26318 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5180        26318 :               switch (TREE_CODE (_p1))
    5181              :                 {
    5182          373 :                 CASE_CONVERT:
    5183          373 :                   {
    5184          373 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5185          373 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5186              :                       {
    5187            1 :                         {
    5188            1 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5189            1 :                           tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5190            1 :                           if (res) return res;
    5191              :                         }
    5192              :                       }
    5193              :                     break;
    5194              :                   }
    5195        26317 :                 default:;
    5196              :                 }
    5197        26317 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5198              :                 {
    5199            0 :                   {
    5200            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5201            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5202            0 :                     if (res) return res;
    5203              :                   }
    5204              :                 }
    5205              :               break;
    5206              :             }
    5207       649487 :           default:;
    5208              :           }
    5209       649487 :         switch (TREE_CODE (_q21))
    5210              :           {
    5211         2717 :           CASE_CONVERT:
    5212         2717 :             {
    5213         2717 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5214         2717 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5215              :                 {
    5216            0 :                   {
    5217            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5218            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5219            0 :                     if (res) return res;
    5220              :                   }
    5221              :                 }
    5222              :               break;
    5223              :             }
    5224       649487 :           default:;
    5225              :           }
    5226       649487 :         switch (TREE_CODE (_p1))
    5227              :           {
    5228        14394 :           CASE_CONVERT:
    5229        14394 :             {
    5230        14394 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5231        14394 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5232              :                 {
    5233            0 :                   {
    5234            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5235            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5236            0 :                     if (res) return res;
    5237              :                   }
    5238              :                 }
    5239        14394 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5240              :                 {
    5241            0 :                   {
    5242            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5243            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5244            0 :                     if (res) return res;
    5245              :                   }
    5246              :                 }
    5247              :               break;
    5248              :             }
    5249       649487 :           default:;
    5250              :           }
    5251       649487 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5252              :           {
    5253         2365 :             {
    5254         2365 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5255         2365 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5256         2365 :               if (res) return res;
    5257              :             }
    5258              :           }
    5259       647184 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5260              :           {
    5261           67 :             {
    5262           67 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5263           67 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5264           67 :               if (res) return res;
    5265              :             }
    5266              :           }
    5267              :         break;
    5268              :       }
    5269        62359 :     case POINTER_PLUS_EXPR:
    5270        62359 :       {
    5271        62359 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5272        62359 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5273        62359 :         switch (TREE_CODE (_p1))
    5274              :           {
    5275         2448 :           case POINTER_PLUS_EXPR:
    5276         2448 :             {
    5277         2448 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5278         2448 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5279         2448 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5280              :                 {
    5281           14 :                   {
    5282           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5283           14 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5284           14 :                     if (res) return res;
    5285              :                   }
    5286              :                 }
    5287              :               break;
    5288              :             }
    5289        62345 :           default:;
    5290              :           }
    5291        62345 :         switch (TREE_CODE (_q20))
    5292              :           {
    5293         1118 :           CASE_CONVERT:
    5294         1118 :             {
    5295         1118 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5296         1118 :               switch (TREE_CODE (_p1))
    5297              :                 {
    5298           84 :                 CASE_CONVERT:
    5299           84 :                   {
    5300           84 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5301           84 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5302              :                       {
    5303           54 :                         {
    5304           54 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5305           54 :                           tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5306           54 :                           if (res) return res;
    5307              :                         }
    5308              :                       }
    5309              :                     break;
    5310              :                   }
    5311         1064 :                 default:;
    5312              :                 }
    5313         1064 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5314              :                 {
    5315            0 :                   {
    5316            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5317            0 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5318            0 :                     if (res) return res;
    5319              :                   }
    5320              :                 }
    5321              :               break;
    5322              :             }
    5323        62291 :           default:;
    5324              :           }
    5325        62291 :         switch (TREE_CODE (_p1))
    5326              :           {
    5327          412 :           CASE_CONVERT:
    5328          412 :             {
    5329          412 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5330          412 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5331              :                 {
    5332            0 :                   {
    5333            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5334            0 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5335            0 :                     if (res) return res;
    5336              :                   }
    5337              :                 }
    5338              :               break;
    5339              :             }
    5340        62291 :           default:;
    5341              :           }
    5342        62291 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5343              :           {
    5344         1494 :             {
    5345         1494 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5346         1494 :               tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5347         1494 :               if (res) return res;
    5348              :             }
    5349              :           }
    5350              :         break;
    5351              :       }
    5352       153601 :     case MINUS_EXPR:
    5353       153601 :       {
    5354       153601 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5355       153601 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5356       153601 :         switch (TREE_CODE (_p1))
    5357              :           {
    5358          165 :           case MINUS_EXPR:
    5359          165 :             {
    5360          165 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5361          165 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5362          165 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5363              :                 {
    5364           25 :                   {
    5365           25 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5366           50 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5367           25 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5368            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5369              : )
    5370              :                       {
    5371            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1496;
    5372            0 :                         {
    5373            0 :                           tree res_op0;
    5374            0 :                           res_op0 = captures[0];
    5375            0 :                           tree res_op1;
    5376            0 :                           res_op1 = captures[2];
    5377            0 :                           tree _r;
    5378            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5379            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5380            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5381            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 926, __FILE__, __LINE__, true);
    5382            0 :                           return _r;
    5383              :                         }
    5384            0 : next_after_fail1496:;
    5385              :                       }
    5386              :                   }
    5387              :                 }
    5388          165 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5389              :                 {
    5390           25 :                   {
    5391           25 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5392           50 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    5393           25 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    5394            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    5395              : )
    5396              :                       {
    5397            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1497;
    5398            0 :                         {
    5399            0 :                           tree res_op0;
    5400            0 :                           res_op0 = captures[2];
    5401            0 :                           tree res_op1;
    5402            0 :                           res_op1 = captures[1];
    5403            0 :                           tree _r;
    5404            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5405            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    5406            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5407            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 927, __FILE__, __LINE__, true);
    5408            0 :                           return _r;
    5409              :                         }
    5410            0 : next_after_fail1497:;
    5411              :                       }
    5412              :                   }
    5413              :                 }
    5414              :               break;
    5415              :             }
    5416       153601 :           default:;
    5417              :           }
    5418       153601 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5419              :           {
    5420           77 :             {
    5421           77 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5422           77 :               tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5423           77 :               if (res) return res;
    5424              :             }
    5425              :           }
    5426              :         break;
    5427              :       }
    5428        30948 :     case POINTER_DIFF_EXPR:
    5429        30948 :       {
    5430        30948 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5431        30948 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5432        30948 :         switch (TREE_CODE (_p1))
    5433              :           {
    5434         1006 :           case POINTER_DIFF_EXPR:
    5435         1006 :             {
    5436         1006 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5437         1006 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5438         1006 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5439              :                 {
    5440            0 :                   {
    5441            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5442            0 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5443            0 :                     if (res) return res;
    5444              :                   }
    5445              :                 }
    5446         1006 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5447              :                 {
    5448            0 :                   {
    5449            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5450            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5451            0 :                     if (res) return res;
    5452              :                   }
    5453              :                 }
    5454              :               break;
    5455              :             }
    5456              :           default:;
    5457              :           }
    5458              :         break;
    5459              :       }
    5460     26699872 :     default:;
    5461              :     }
    5462     26699872 : {
    5463     26699872 :   tree _p0_pops[1];
    5464     26699872 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    5465              :     {
    5466         7826 :       tree _q20 = _p0_pops[0];
    5467         7826 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5468              :         {
    5469            9 :           if (tree_truth_valued_p (_p1))
    5470              :             {
    5471            0 :               {
    5472            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5473            0 :                 tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5474            0 :                 if (res) return res;
    5475              :               }
    5476              :             }
    5477              :         }
    5478              :     }
    5479              : }
    5480     26699872 : if (tree_truth_valued_p (_p0))
    5481              :   {
    5482       629375 :     switch (TREE_CODE (_p1))
    5483              :       {
    5484           24 :       case BIT_NOT_EXPR:
    5485           24 :         {
    5486           24 :           tree _q30 = TREE_OPERAND (_p1, 0);
    5487           24 :           if (tree_truth_valued_p (_q30))
    5488              :             {
    5489            4 :               {
    5490            4 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5491            4 :                 tree res = generic_simplify_210 (loc, type, _p0, _p1, captures);
    5492            4 :                 if (res) return res;
    5493              :               }
    5494              :             }
    5495              :           break;
    5496              :         }
    5497       629375 :       default:;
    5498              :       }
    5499       629375 :   {
    5500       629375 :     tree _p1_pops[1];
    5501       629375 :     if (tree_logical_inverted_value (_p1, _p1_pops))
    5502              :       {
    5503           90 :         tree _q30 = _p1_pops[0];
    5504           90 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5505              :           {
    5506            0 :             {
    5507            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5508            0 :               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5509            0 :               if (res) return res;
    5510              :             }
    5511              :           }
    5512              :       }
    5513              :   }
    5514              :   }
    5515     26699872 :   switch (TREE_CODE (_p1))
    5516              :     {
    5517        84476 :     case PLUS_EXPR:
    5518        84476 :       {
    5519        84476 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5520        84476 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5521        84476 :         switch (TREE_CODE (_q31))
    5522              :           {
    5523           26 :           CASE_CONVERT:
    5524           26 :             {
    5525           26 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5526           26 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5527              :                 {
    5528            0 :                   {
    5529            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5530            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5531            0 :                     if (res) return res;
    5532              :                   }
    5533              :                 }
    5534              :               break;
    5535              :             }
    5536        84476 :           default:;
    5537              :           }
    5538        84476 :         switch (TREE_CODE (_q30))
    5539              :           {
    5540        20203 :           CASE_CONVERT:
    5541        20203 :             {
    5542        20203 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5543        20203 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5544              :                 {
    5545            0 :                   {
    5546            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5547            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5548            0 :                     if (res) return res;
    5549              :                   }
    5550              :                 }
    5551              :               break;
    5552              :             }
    5553        84476 :           default:;
    5554              :           }
    5555        84476 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5556              :           {
    5557            0 :             {
    5558            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5559            0 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5560            0 :               if (res) return res;
    5561              :             }
    5562              :           }
    5563        84476 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5564              :           {
    5565            0 :             {
    5566            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5567            0 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5568            0 :               if (res) return res;
    5569              :             }
    5570              :           }
    5571              :         break;
    5572              :       }
    5573     26699872 :     default:;
    5574              :     }
    5575     26699872 : {
    5576     26699872 :   tree _p1_pops[1];
    5577     26699872 :   if (tree_nop_convert (_p1, _p1_pops))
    5578              :     {
    5579      1082457 :       tree _q30 = _p1_pops[0];
    5580      1082457 :       switch (TREE_CODE (_q30))
    5581              :         {
    5582         1719 :         case PLUS_EXPR:
    5583         1719 :           {
    5584         1719 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5585         1719 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5586         1719 :             switch (TREE_CODE (_q41))
    5587              :               {
    5588            2 :               CASE_CONVERT:
    5589            2 :                 {
    5590            2 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5591            2 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5592              :                     {
    5593            0 :                       {
    5594            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5595            0 :                         tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5596            0 :                         if (res) return res;
    5597              :                       }
    5598              :                     }
    5599              :                   break;
    5600              :                 }
    5601         1719 :               default:;
    5602              :               }
    5603         1719 :             switch (TREE_CODE (_q40))
    5604              :               {
    5605         1613 :               CASE_CONVERT:
    5606         1613 :                 {
    5607         1613 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5608         1613 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5609              :                     {
    5610            0 :                       {
    5611            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5612            0 :                         tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5613            0 :                         if (res) return res;
    5614              :                       }
    5615              :                     }
    5616              :                   break;
    5617              :                 }
    5618         1719 :               default:;
    5619              :               }
    5620         1719 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5621              :               {
    5622            0 :                 {
    5623            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5624            0 :                   tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5625            0 :                   if (res) return res;
    5626              :                 }
    5627              :               }
    5628         1719 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5629              :               {
    5630            0 :                 {
    5631            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5632            0 :                   tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5633            0 :                   if (res) return res;
    5634              :                 }
    5635              :               }
    5636              :             break;
    5637              :           }
    5638              :         default:;
    5639              :         }
    5640              :     }
    5641              : }
    5642     26699872 :   switch (TREE_CODE (_p0))
    5643              :     {
    5644      4895120 :     CASE_CONVERT:
    5645      4895120 :       {
    5646      4895120 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5647      4895120 :         switch (TREE_CODE (_p1))
    5648              :           {
    5649          151 :           case POINTER_PLUS_EXPR:
    5650          151 :             {
    5651          151 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5652          151 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5653          151 :               switch (TREE_CODE (_q40))
    5654              :                 {
    5655           96 :                 CASE_CONVERT:
    5656           96 :                   {
    5657           96 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5658           96 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5659              :                       {
    5660            3 :                         {
    5661            3 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5662            3 :                           tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5663            3 :                           if (res) return res;
    5664              :                         }
    5665              :                       }
    5666              :                     break;
    5667              :                   }
    5668          148 :                 default:;
    5669              :                 }
    5670          148 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    5671              :                 {
    5672            0 :                   {
    5673            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5674            0 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5675            0 :                     if (res) return res;
    5676              :                   }
    5677              :                 }
    5678              :               break;
    5679              :             }
    5680      4895117 :           default:;
    5681              :           }
    5682      4895117 :       {
    5683      4895117 :         tree _p1_pops[1];
    5684      4895117 :         if (tree_nop_convert (_p1, _p1_pops))
    5685              :           {
    5686       853586 :             tree _q40 = _p1_pops[0];
    5687       853586 :             switch (TREE_CODE (_q40))
    5688              :               {
    5689           18 :               case POINTER_PLUS_EXPR:
    5690           18 :                 {
    5691           18 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5692           18 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    5693           18 :                   switch (TREE_CODE (_q50))
    5694              :                     {
    5695            0 :                     CASE_CONVERT:
    5696            0 :                       {
    5697            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5698            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5699              :                           {
    5700            0 :                             {
    5701            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5702            0 :                               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5703            0 :                               if (res) return res;
    5704              :                             }
    5705              :                           }
    5706              :                         break;
    5707              :                       }
    5708           18 :                     default:;
    5709              :                     }
    5710           18 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5711              :                     {
    5712            0 :                       {
    5713            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5714            0 :                         tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5715            0 :                         if (res) return res;
    5716              :                       }
    5717              :                     }
    5718              :                   break;
    5719              :                 }
    5720              :               default:;
    5721              :               }
    5722              :           }
    5723              :       }
    5724      4895117 :         break;
    5725              :       }
    5726     26699869 :     default:;
    5727              :     }
    5728     26699869 : {
    5729     26699869 :   tree _p0_pops[1];
    5730     26699869 :   if (tree_nop_convert (_p0, _p0_pops))
    5731              :     {
    5732      2817922 :       tree _q20 = _p0_pops[0];
    5733      2817922 :       switch (TREE_CODE (_q20))
    5734              :         {
    5735           97 :         case POINTER_PLUS_EXPR:
    5736           97 :           {
    5737           97 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5738           97 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5739           97 :             switch (TREE_CODE (_q30))
    5740              :               {
    5741           21 :               CASE_CONVERT:
    5742           21 :                 {
    5743           21 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5744           21 :                   switch (TREE_CODE (_p1))
    5745              :                     {
    5746            0 :                     CASE_CONVERT:
    5747            0 :                       {
    5748            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    5749            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5750              :                           {
    5751            0 :                             {
    5752            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5753            0 :                               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5754            0 :                               if (res) return res;
    5755              :                             }
    5756              :                           }
    5757              :                         break;
    5758              :                       }
    5759           21 :                     default:;
    5760              :                     }
    5761           21 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5762              :                     {
    5763            0 :                       {
    5764            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5765            0 :                         tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5766            0 :                         if (res) return res;
    5767              :                       }
    5768              :                     }
    5769              :                   break;
    5770              :                 }
    5771           97 :               default:;
    5772              :               }
    5773           97 :             switch (TREE_CODE (_p1))
    5774              :               {
    5775           27 :               CASE_CONVERT:
    5776           27 :                 {
    5777           27 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5778           27 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5779              :                     {
    5780            0 :                       {
    5781            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5782            0 :                         tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5783            0 :                         if (res) return res;
    5784              :                       }
    5785              :                     }
    5786              :                   break;
    5787              :                 }
    5788           97 :               default:;
    5789              :               }
    5790           97 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5791              :               {
    5792            0 :                 {
    5793            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5794            0 :                   tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5795            0 :                   if (res) return res;
    5796              :                 }
    5797              :               }
    5798              :             break;
    5799              :           }
    5800              :         default:;
    5801              :         }
    5802              :     }
    5803              : }
    5804     26699869 :   switch (TREE_CODE (_p1))
    5805              :     {
    5806         6139 :     case POINTER_PLUS_EXPR:
    5807         6139 :       {
    5808         6139 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5809         6139 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5810         6139 :         switch (TREE_CODE (_q30))
    5811              :           {
    5812         3440 :           CASE_CONVERT:
    5813         3440 :             {
    5814         3440 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5815         3440 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5816              :                 {
    5817            0 :                   {
    5818            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5819            0 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5820            0 :                     if (res) return res;
    5821              :                   }
    5822              :                 }
    5823              :               break;
    5824              :             }
    5825         6139 :           default:;
    5826              :           }
    5827         6139 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5828              :           {
    5829            0 :             {
    5830            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5831            0 :               tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5832            0 :               if (res) return res;
    5833              :             }
    5834              :           }
    5835              :         break;
    5836              :       }
    5837     26699869 :     default:;
    5838              :     }
    5839     26699869 : {
    5840     26699869 :   tree _p1_pops[1];
    5841     26699869 :   if (tree_nop_convert (_p1, _p1_pops))
    5842              :     {
    5843      1082457 :       tree _q30 = _p1_pops[0];
    5844      1082457 :       switch (TREE_CODE (_q30))
    5845              :         {
    5846           32 :         case POINTER_PLUS_EXPR:
    5847           32 :           {
    5848           32 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5849           32 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5850           32 :             switch (TREE_CODE (_q40))
    5851              :               {
    5852            0 :               CASE_CONVERT:
    5853            0 :                 {
    5854            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5855            0 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5856              :                     {
    5857            0 :                       {
    5858            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5859            0 :                         tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5860            0 :                         if (res) return res;
    5861              :                       }
    5862              :                     }
    5863              :                   break;
    5864              :                 }
    5865           32 :               default:;
    5866              :               }
    5867           32 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5868              :               {
    5869            0 :                 {
    5870            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5871            0 :                   tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5872            0 :                   if (res) return res;
    5873              :                 }
    5874              :               }
    5875              :             break;
    5876              :           }
    5877              :         default:;
    5878              :         }
    5879              :     }
    5880              : }
    5881     26699869 :   switch (TREE_CODE (_p0))
    5882              :     {
    5883        60797 :     case POINTER_PLUS_EXPR:
    5884        60797 :       {
    5885        60797 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5886        60797 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5887        60797 :         switch (TREE_CODE (_p1))
    5888              :           {
    5889        11822 :           case ADDR_EXPR:
    5890        11822 :             {
    5891        11822 :               {
    5892        11822 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5893        11822 :                 tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5894        11822 :                 if (res) return res;
    5895              :               }
    5896        11821 :               break;
    5897              :             }
    5898        60796 :           default:;
    5899              :           }
    5900        60796 :         switch (TREE_CODE (_q20))
    5901              :           {
    5902         1073 :           case ADDR_EXPR:
    5903         1073 :             {
    5904         1073 :               switch (TREE_CODE (_p1))
    5905              :                 {
    5906           15 :                 case POINTER_PLUS_EXPR:
    5907           15 :                   {
    5908           15 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5909           15 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5910           15 :                     switch (TREE_CODE (_q50))
    5911              :                       {
    5912            6 :                       case ADDR_EXPR:
    5913            6 :                         {
    5914            6 :                           {
    5915            6 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    5916            6 :                             tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5917            6 :                             if (res) return res;
    5918              :                           }
    5919            6 :                           break;
    5920              :                         }
    5921              :                       default:;
    5922              :                       }
    5923              :                     break;
    5924              :                   }
    5925              :                 default:;
    5926              :                 }
    5927              :               break;
    5928              :             }
    5929              :           default:;
    5930              :           }
    5931              :         break;
    5932              :       }
    5933        89434 :     case ADDR_EXPR:
    5934        89434 :       {
    5935        89434 :         switch (TREE_CODE (_p1))
    5936              :           {
    5937            0 :           case POINTER_PLUS_EXPR:
    5938            0 :             {
    5939            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    5940            0 :               tree _q31 = TREE_OPERAND (_p1, 1);
    5941            0 :               {
    5942            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5943            0 :                 tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5944            0 :                 if (res) return res;
    5945              :               }
    5946            0 :               break;
    5947              :             }
    5948              :           default:;
    5949              :           }
    5950              :         break;
    5951              :       }
    5952     26699868 :     default:;
    5953              :     }
    5954     26699868 :   switch (TREE_CODE (_p1))
    5955              :     {
    5956         3400 :     case MINUS_EXPR:
    5957         3400 :       {
    5958         3400 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5959         3400 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5960         3400 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5961              :           {
    5962            0 :             {
    5963            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5964            0 :               tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5965            0 :               if (res) return res;
    5966              :             }
    5967              :           }
    5968              :         break;
    5969              :       }
    5970     26699868 :     default:;
    5971              :     }
    5972     26699868 :   switch (TREE_CODE (_p0))
    5973              :     {
    5974         4368 :     case TRUNC_DIV_EXPR:
    5975         4368 :       {
    5976         4368 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5977         4368 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5978         4368 :         if (integer_zerop (_p1))
    5979              :           {
    5980          331 :             {
    5981          331 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5982          331 :               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    5983          331 :               if (res) return res;
    5984              :             }
    5985              :           }
    5986              :         break;
    5987              :       }
    5988      4895117 :     CASE_CONVERT:
    5989      4895117 :       {
    5990      4895117 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5991      4895117 :         switch (TREE_CODE (_p1))
    5992              :           {
    5993      1238023 :           CASE_CONVERT:
    5994      1238023 :             {
    5995      1238023 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5996      1238023 :               switch (TREE_CODE (_q40))
    5997              :                 {
    5998            0 :                 case MINUS_EXPR:
    5999            0 :                   {
    6000            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6001            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6002            0 :                     switch (TREE_CODE (_q50))
    6003              :                       {
    6004            0 :                       case INTEGER_CST:
    6005            0 :                         {
    6006            0 :                           switch (TREE_CODE (_q51))
    6007              :                             {
    6008            0 :                             CASE_CONVERT:
    6009            0 :                               {
    6010            0 :                                 tree _q70 = TREE_OPERAND (_q51, 0);
    6011            0 :                                 if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6012              :                                   {
    6013            0 :                                     {
    6014            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6015            0 :                                       tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6016            0 :                                       if (res) return res;
    6017              :                                     }
    6018              :                                   }
    6019              :                                 break;
    6020              :                               }
    6021              :                             default:;
    6022              :                             }
    6023              :                           break;
    6024              :                         }
    6025              :                       default:;
    6026              :                       }
    6027              :                     break;
    6028              :                   }
    6029              :                 default:;
    6030              :                 }
    6031              :               break;
    6032              :             }
    6033      4895117 :           default:;
    6034              :           }
    6035      4895117 :         switch (TREE_CODE (_q20))
    6036              :           {
    6037          242 :           case MINUS_EXPR:
    6038          242 :             {
    6039          242 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6040          242 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6041          242 :               switch (TREE_CODE (_q30))
    6042              :                 {
    6043           56 :                 case INTEGER_CST:
    6044           56 :                   {
    6045           56 :                     switch (TREE_CODE (_q31))
    6046              :                       {
    6047            0 :                       CASE_CONVERT:
    6048            0 :                         {
    6049            0 :                           tree _q50 = TREE_OPERAND (_q31, 0);
    6050            0 :                           switch (TREE_CODE (_p1))
    6051              :                             {
    6052            0 :                             CASE_CONVERT:
    6053            0 :                               {
    6054            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    6055            0 :                                 if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    6056              :                                   {
    6057            0 :                                     {
    6058            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6059            0 :                                       tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6060            0 :                                       if (res) return res;
    6061              :                                     }
    6062              :                                   }
    6063              :                                 break;
    6064              :                               }
    6065            0 :                             default:;
    6066              :                             }
    6067            0 :                           if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6068              :                             {
    6069            0 :                               {
    6070            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6071            0 :                                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6072            0 :                                 if (res) return res;
    6073              :                               }
    6074              :                             }
    6075              :                           break;
    6076              :                         }
    6077           56 :                       default:;
    6078              :                       }
    6079           56 :                     switch (TREE_CODE (_p1))
    6080              :                       {
    6081            0 :                       CASE_CONVERT:
    6082            0 :                         {
    6083            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6084            0 :                           if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6085              :                             {
    6086            0 :                               {
    6087            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6088            0 :                                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6089            0 :                                 if (res) return res;
    6090              :                               }
    6091              :                             }
    6092              :                           break;
    6093              :                         }
    6094           56 :                       default:;
    6095              :                       }
    6096           56 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6097              :                       {
    6098            0 :                         {
    6099            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6100            0 :                           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6101            0 :                           if (res) return res;
    6102              :                         }
    6103              :                       }
    6104              :                     break;
    6105              :                   }
    6106              :                 default:;
    6107              :                 }
    6108              :               break;
    6109              :             }
    6110      4895117 :           default:;
    6111              :           }
    6112      4895117 :         switch (TREE_CODE (_p1))
    6113              :           {
    6114      1238023 :           CASE_CONVERT:
    6115      1238023 :             {
    6116      1238023 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6117      1238023 :               switch (TREE_CODE (_q40))
    6118              :                 {
    6119            0 :                 case MINUS_EXPR:
    6120            0 :                   {
    6121            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6122            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6123            0 :                     switch (TREE_CODE (_q50))
    6124              :                       {
    6125            0 :                       case INTEGER_CST:
    6126            0 :                         {
    6127            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6128              :                             {
    6129            0 :                               {
    6130            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6131            0 :                                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6132            0 :                                 if (res) return res;
    6133              :                               }
    6134              :                             }
    6135              :                           break;
    6136              :                         }
    6137              :                       default:;
    6138              :                       }
    6139              :                     break;
    6140              :                   }
    6141              :                 default:;
    6142              :                 }
    6143              :               break;
    6144              :             }
    6145          277 :           case MINUS_EXPR:
    6146          277 :             {
    6147          277 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6148          277 :               tree _q41 = TREE_OPERAND (_p1, 1);
    6149          277 :               switch (TREE_CODE (_q40))
    6150              :                 {
    6151           70 :                 case INTEGER_CST:
    6152           70 :                   {
    6153           70 :                     switch (TREE_CODE (_q41))
    6154              :                       {
    6155           12 :                       CASE_CONVERT:
    6156           12 :                         {
    6157           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6158           12 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6159              :                             {
    6160            0 :                               {
    6161            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6162            0 :                                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6163            0 :                                 if (res) return res;
    6164              :                               }
    6165              :                             }
    6166              :                           break;
    6167              :                         }
    6168           70 :                       default:;
    6169              :                       }
    6170           70 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6171              :                       {
    6172            0 :                         {
    6173            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6174            0 :                           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6175            0 :                           if (res) return res;
    6176              :                         }
    6177              :                       }
    6178              :                     break;
    6179              :                   }
    6180              :                 default:;
    6181              :                 }
    6182              :               break;
    6183              :             }
    6184              :           default:;
    6185              :           }
    6186              :         break;
    6187              :       }
    6188       153524 :     case MINUS_EXPR:
    6189       153524 :       {
    6190       153524 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6191       153524 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6192       153524 :         switch (TREE_CODE (_q20))
    6193              :           {
    6194        41104 :           case INTEGER_CST:
    6195        41104 :             {
    6196        41104 :               switch (TREE_CODE (_q21))
    6197              :                 {
    6198        23956 :                 CASE_CONVERT:
    6199        23956 :                   {
    6200        23956 :                     tree _q40 = TREE_OPERAND (_q21, 0);
    6201        23956 :                     switch (TREE_CODE (_p1))
    6202              :                       {
    6203            0 :                       CASE_CONVERT:
    6204            0 :                         {
    6205            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6206            0 :                           if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    6207              :                             {
    6208            0 :                               {
    6209            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6210            0 :                                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6211            0 :                                 if (res) return res;
    6212              :                               }
    6213              :                             }
    6214              :                           break;
    6215              :                         }
    6216        23956 :                       default:;
    6217              :                       }
    6218        23956 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6219              :                       {
    6220            0 :                         {
    6221            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6222            0 :                           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6223            0 :                           if (res) return res;
    6224              :                         }
    6225              :                       }
    6226              :                     break;
    6227              :                   }
    6228        41104 :                 default:;
    6229              :                 }
    6230        41104 :               switch (TREE_CODE (_p1))
    6231              :                 {
    6232           24 :                 CASE_CONVERT:
    6233           24 :                   {
    6234           24 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6235           24 :                     if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6236              :                       {
    6237            0 :                         {
    6238            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6239            0 :                           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6240            0 :                           if (res) return res;
    6241              :                         }
    6242              :                       }
    6243              :                     break;
    6244              :                   }
    6245        41104 :                 default:;
    6246              :                 }
    6247        41104 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6248              :                 {
    6249            2 :                   {
    6250            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6251            2 :                     tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6252            2 :                     if (res) return res;
    6253              :                   }
    6254              :                 }
    6255              :               break;
    6256              :             }
    6257              :           default:;
    6258              :           }
    6259              :         break;
    6260              :       }
    6261     26699630 :     default:;
    6262              :     }
    6263     26699630 :   switch (TREE_CODE (_p1))
    6264              :     {
    6265      1526460 :     CASE_CONVERT:
    6266      1526460 :       {
    6267      1526460 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6268      1526460 :         switch (TREE_CODE (_q30))
    6269              :           {
    6270           12 :           case MINUS_EXPR:
    6271           12 :             {
    6272           12 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6273           12 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6274           12 :               switch (TREE_CODE (_q40))
    6275              :                 {
    6276           12 :                 case INTEGER_CST:
    6277           12 :                   {
    6278           12 :                     switch (TREE_CODE (_q41))
    6279              :                       {
    6280           12 :                       CASE_CONVERT:
    6281           12 :                         {
    6282           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6283           12 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6284              :                             {
    6285            0 :                               {
    6286            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6287            0 :                                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6288            0 :                                 if (res) return res;
    6289              :                               }
    6290              :                             }
    6291              :                           break;
    6292              :                         }
    6293           12 :                       default:;
    6294              :                       }
    6295           12 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6296              :                       {
    6297            0 :                         {
    6298            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6299            0 :                           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6300            0 :                           if (res) return res;
    6301              :                         }
    6302              :                       }
    6303              :                     break;
    6304              :                   }
    6305              :                 default:;
    6306              :                 }
    6307              :               break;
    6308              :             }
    6309              :           default:;
    6310              :           }
    6311              :         break;
    6312              :       }
    6313         3400 :     case MINUS_EXPR:
    6314         3400 :       {
    6315         3400 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6316         3400 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6317         3400 :         switch (TREE_CODE (_q30))
    6318              :           {
    6319          206 :           case INTEGER_CST:
    6320          206 :             {
    6321          206 :               switch (TREE_CODE (_q31))
    6322              :                 {
    6323           16 :                 CASE_CONVERT:
    6324           16 :                   {
    6325           16 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    6326           16 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6327              :                       {
    6328            0 :                         {
    6329            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6330            0 :                           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6331            0 :                           if (res) return res;
    6332              :                         }
    6333              :                       }
    6334              :                     break;
    6335              :                   }
    6336          206 :                 default:;
    6337              :                 }
    6338          206 :               if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6339              :                 {
    6340            0 :                   {
    6341            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6342            0 :                     tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6343            0 :                     if (res) return res;
    6344              :                   }
    6345              :                 }
    6346              :               break;
    6347              :             }
    6348              :           default:;
    6349              :           }
    6350              :         break;
    6351              :       }
    6352     26699630 :     default:;
    6353              :     }
    6354     26699630 :   switch (TREE_CODE (_p0))
    6355              :     {
    6356         1141 :     case LT_EXPR:
    6357         1141 :       {
    6358         1141 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6359         1141 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6360         1141 :         switch (TREE_CODE (_p1))
    6361              :           {
    6362           16 :           case GT_EXPR:
    6363           16 :             {
    6364           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6365           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6366           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6367              :                 {
    6368            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6369              :                     {
    6370            0 :                       {
    6371            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6372            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6373            0 :                         if (res) return res;
    6374              :                       }
    6375              :                     }
    6376              :                 }
    6377              :               break;
    6378              :             }
    6379            0 :           case EQ_EXPR:
    6380            0 :             {
    6381            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6382            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6383            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6384              :                 {
    6385            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6386              :                     {
    6387            0 :                       {
    6388            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6389            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6390            0 :                         if (res) return res;
    6391              :                       }
    6392              :                     }
    6393              :                 }
    6394              :               break;
    6395              :             }
    6396            2 :           case NE_EXPR:
    6397            2 :             {
    6398            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6399            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6400            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6401              :                 {
    6402            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6403              :                     {
    6404            0 :                       {
    6405            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6406            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6407            0 :                         if (res) return res;
    6408              :                       }
    6409              :                     }
    6410              :                 }
    6411              :               break;
    6412              :             }
    6413              :           default:;
    6414              :           }
    6415              :         break;
    6416              :       }
    6417         1541 :     case LE_EXPR:
    6418         1541 :       {
    6419         1541 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6420         1541 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6421         1541 :         switch (TREE_CODE (_p1))
    6422              :           {
    6423            4 :           case GE_EXPR:
    6424            4 :             {
    6425            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6426            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6427            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6428              :                 {
    6429            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6430              :                     {
    6431            0 :                       {
    6432            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6433            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6434            0 :                         if (res) return res;
    6435              :                       }
    6436              :                     }
    6437              :                 }
    6438              :               break;
    6439              :             }
    6440            0 :           case EQ_EXPR:
    6441            0 :             {
    6442            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6443            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6444            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6445              :                 {
    6446            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6447              :                     {
    6448            0 :                       {
    6449            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6450            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6451            0 :                         if (res) return res;
    6452              :                       }
    6453              :                     }
    6454              :                 }
    6455              :               break;
    6456              :             }
    6457            8 :           case NE_EXPR:
    6458            8 :             {
    6459            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6460            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6461            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6462              :                 {
    6463            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6464              :                     {
    6465            0 :                       {
    6466            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6467            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6468            0 :                         if (res) return res;
    6469              :                       }
    6470              :                     }
    6471              :                 }
    6472              :               break;
    6473              :             }
    6474              :           default:;
    6475              :           }
    6476              :         break;
    6477              :       }
    6478        65149 :     case GT_EXPR:
    6479        65149 :       {
    6480        65149 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6481        65149 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6482        65149 :         switch (TREE_CODE (_p1))
    6483              :           {
    6484        63400 :           case GT_EXPR:
    6485        63400 :             {
    6486        63400 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6487        63400 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6488        63400 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6489              :                 {
    6490           12 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6491              :                     {
    6492            0 :                       {
    6493            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6494            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6495            0 :                         if (res) return res;
    6496              :                       }
    6497            0 :                       {
    6498            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6499            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6500            0 :                         if (res) return res;
    6501              :                       }
    6502              :                     }
    6503              :                 }
    6504              :               break;
    6505              :             }
    6506           57 :           case EQ_EXPR:
    6507           57 :             {
    6508           57 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6509           57 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6510           57 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6511              :                 {
    6512            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6513              :                     {
    6514            0 :                       {
    6515            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6516            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6517            0 :                         if (res) return res;
    6518              :                       }
    6519              :                     }
    6520              :                 }
    6521              :               break;
    6522              :             }
    6523           37 :           case NE_EXPR:
    6524           37 :             {
    6525           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6526           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6527           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6528              :                 {
    6529            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6530              :                     {
    6531            0 :                       {
    6532            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6533            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6534            0 :                         if (res) return res;
    6535              :                       }
    6536              :                     }
    6537              :                 }
    6538              :               break;
    6539              :             }
    6540           41 :           case LT_EXPR:
    6541           41 :             {
    6542           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6543           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6544           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6545              :                 {
    6546            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6547              :                     {
    6548            0 :                       {
    6549            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6550            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6551            0 :                         if (res) return res;
    6552              :                       }
    6553              :                     }
    6554              :                 }
    6555              :               break;
    6556              :             }
    6557              :           default:;
    6558              :           }
    6559              :         break;
    6560              :       }
    6561         6618 :     case GE_EXPR:
    6562         6618 :       {
    6563         6618 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6564         6618 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6565         6618 :         switch (TREE_CODE (_p1))
    6566              :           {
    6567           26 :           case GE_EXPR:
    6568           26 :             {
    6569           26 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6570           26 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6571           26 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6572              :                 {
    6573            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6574              :                     {
    6575            0 :                       {
    6576            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6577            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6578            0 :                         if (res) return res;
    6579              :                       }
    6580            0 :                       {
    6581            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6582            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6583            0 :                         if (res) return res;
    6584              :                       }
    6585              :                     }
    6586              :                 }
    6587              :               break;
    6588              :             }
    6589           90 :           case EQ_EXPR:
    6590           90 :             {
    6591           90 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6592           90 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6593           90 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6594              :                 {
    6595            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6596              :                     {
    6597            0 :                       {
    6598            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6599            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6600            0 :                         if (res) return res;
    6601              :                       }
    6602              :                     }
    6603              :                 }
    6604              :               break;
    6605              :             }
    6606           56 :           case NE_EXPR:
    6607           56 :             {
    6608           56 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6609           56 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6610           56 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6611              :                 {
    6612            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6613              :                     {
    6614            0 :                       {
    6615            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6616            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6617            0 :                         if (res) return res;
    6618              :                       }
    6619              :                     }
    6620              :                 }
    6621              :               break;
    6622              :             }
    6623            8 :           case LE_EXPR:
    6624            8 :             {
    6625            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6626            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6627            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6628              :                 {
    6629            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6630              :                     {
    6631            0 :                       {
    6632            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6633            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6634            0 :                         if (res) return res;
    6635              :                       }
    6636              :                     }
    6637              :                 }
    6638              :               break;
    6639              :             }
    6640              :           default:;
    6641              :           }
    6642              :         break;
    6643              :       }
    6644        32209 :     case EQ_EXPR:
    6645        32209 :       {
    6646        32209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6647        32209 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6648        32209 :         switch (TREE_CODE (_p1))
    6649              :           {
    6650            4 :           case LT_EXPR:
    6651            4 :             {
    6652            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6653            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6654            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6655              :                 {
    6656            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6657              :                     {
    6658            0 :                       {
    6659            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6660            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6661            0 :                         if (res) return res;
    6662              :                       }
    6663              :                     }
    6664              :                 }
    6665              :               break;
    6666              :             }
    6667            4 :           case LE_EXPR:
    6668            4 :             {
    6669            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6670            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6671            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6672              :                 {
    6673            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6674              :                     {
    6675            0 :                       {
    6676            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6677            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6678            0 :                         if (res) return res;
    6679              :                       }
    6680              :                     }
    6681              :                 }
    6682              :               break;
    6683              :             }
    6684           75 :           case GT_EXPR:
    6685           75 :             {
    6686           75 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6687           75 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6688           75 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6689              :                 {
    6690            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6691              :                     {
    6692            0 :                       {
    6693            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6694            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6695            0 :                         if (res) return res;
    6696              :                       }
    6697              :                     }
    6698              :                 }
    6699              :               break;
    6700              :             }
    6701          112 :           case GE_EXPR:
    6702          112 :             {
    6703          112 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6704          112 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6705          112 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6706              :                 {
    6707            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6708              :                     {
    6709            0 :                       {
    6710            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6711            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6712            0 :                         if (res) return res;
    6713              :                       }
    6714              :                     }
    6715              :                 }
    6716              :               break;
    6717              :             }
    6718              :           default:;
    6719              :           }
    6720              :         break;
    6721              :       }
    6722        11802 :     case NE_EXPR:
    6723        11802 :       {
    6724        11802 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6725        11802 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6726        11802 :         switch (TREE_CODE (_p1))
    6727              :           {
    6728            3 :           case LT_EXPR:
    6729            3 :             {
    6730            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6731            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6732            3 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6733              :                 {
    6734            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6735              :                     {
    6736            0 :                       {
    6737            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6738            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6739            0 :                         if (res) return res;
    6740              :                       }
    6741              :                     }
    6742              :                 }
    6743              :               break;
    6744              :             }
    6745            0 :           case LE_EXPR:
    6746            0 :             {
    6747            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6748            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6749            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6750              :                 {
    6751            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6752              :                     {
    6753            0 :                       {
    6754            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6755            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6756            0 :                         if (res) return res;
    6757              :                       }
    6758              :                     }
    6759              :                 }
    6760              :               break;
    6761              :             }
    6762           21 :           case GT_EXPR:
    6763           21 :             {
    6764           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6765           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6766           21 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6767              :                 {
    6768            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6769              :                     {
    6770            0 :                       {
    6771            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6772            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6773            0 :                         if (res) return res;
    6774              :                       }
    6775              :                     }
    6776              :                 }
    6777              :               break;
    6778              :             }
    6779            2 :           case GE_EXPR:
    6780            2 :             {
    6781            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6782            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6783            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6784              :                 {
    6785            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6786              :                     {
    6787            0 :                       {
    6788            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6789            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6790            0 :                         if (res) return res;
    6791              :                       }
    6792              :                     }
    6793              :                 }
    6794              :               break;
    6795              :             }
    6796              :           default:;
    6797              :           }
    6798              :         break;
    6799              :       }
    6800        10358 :     case MIN_EXPR:
    6801        10358 :       {
    6802        10358 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6803        10358 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6804        10358 :         switch (TREE_CODE (_p1))
    6805              :           {
    6806            0 :           case MAX_EXPR:
    6807            0 :             {
    6808            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6809            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6810            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6811              :                 {
    6812            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6813              :                     {
    6814            0 :                       {
    6815            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6816            0 :                         if (!HONOR_NANS (captures[0])
    6817              : )
    6818              :                           {
    6819            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1498;
    6820            0 :                             {
    6821            0 :                               tree res_op0;
    6822            0 :                               res_op0 = captures[0];
    6823            0 :                               tree res_op1;
    6824            0 :                               res_op1 = captures[1];
    6825            0 :                               tree _r;
    6826            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6827            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    6828            0 :                               return _r;
    6829              :                             }
    6830            0 : next_after_fail1498:;
    6831              :                           }
    6832              :                       }
    6833              :                     }
    6834              :                 }
    6835            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6836              :                 {
    6837            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6838              :                     {
    6839            0 :                       {
    6840            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6841            0 :                         if (!HONOR_NANS (captures[0])
    6842              : )
    6843              :                           {
    6844            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1499;
    6845            0 :                             {
    6846            0 :                               tree res_op0;
    6847            0 :                               res_op0 = captures[0];
    6848            0 :                               tree res_op1;
    6849            0 :                               res_op1 = captures[1];
    6850            0 :                               tree _r;
    6851            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6852            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    6853            0 :                               return _r;
    6854              :                             }
    6855            0 : next_after_fail1499:;
    6856              :                           }
    6857              :                       }
    6858              :                     }
    6859              :                 }
    6860              :               break;
    6861              :             }
    6862        10358 :           default:;
    6863              :           }
    6864        10358 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6865              :           {
    6866            0 :             {
    6867            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6868            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6869            0 :               if (res) return res;
    6870              :             }
    6871              :           }
    6872        10358 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6873              :           {
    6874            0 :             {
    6875            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6876            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6877            0 :               if (res) return res;
    6878              :             }
    6879              :           }
    6880              :         break;
    6881              :       }
    6882          647 :     case MAX_EXPR:
    6883          647 :       {
    6884          647 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6885          647 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6886          647 :         switch (TREE_CODE (_p1))
    6887              :           {
    6888            0 :           case MIN_EXPR:
    6889            0 :             {
    6890            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6891            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6892            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6893              :                 {
    6894            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6895              :                     {
    6896            0 :                       {
    6897            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6898            0 :                         if (!HONOR_NANS (captures[0])
    6899              : )
    6900              :                           {
    6901            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1500;
    6902            0 :                             {
    6903            0 :                               tree res_op0;
    6904            0 :                               res_op0 = captures[0];
    6905            0 :                               tree res_op1;
    6906            0 :                               res_op1 = captures[1];
    6907            0 :                               tree _r;
    6908            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6909            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    6910            0 :                               return _r;
    6911              :                             }
    6912            0 : next_after_fail1500:;
    6913              :                           }
    6914              :                       }
    6915              :                     }
    6916              :                 }
    6917            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6918              :                 {
    6919            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6920              :                     {
    6921            0 :                       {
    6922            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6923            0 :                         if (!HONOR_NANS (captures[0])
    6924              : )
    6925              :                           {
    6926            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1501;
    6927            0 :                             {
    6928            0 :                               tree res_op0;
    6929            0 :                               res_op0 = captures[0];
    6930            0 :                               tree res_op1;
    6931            0 :                               res_op1 = captures[1];
    6932            0 :                               tree _r;
    6933            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6934            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    6935            0 :                               return _r;
    6936              :                             }
    6937            0 : next_after_fail1501:;
    6938              :                           }
    6939              :                       }
    6940              :                     }
    6941              :                 }
    6942              :               break;
    6943              :             }
    6944          647 :           default:;
    6945              :           }
    6946          647 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6947              :           {
    6948            0 :             {
    6949            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6950            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6951            0 :               if (res) return res;
    6952              :             }
    6953              :           }
    6954          647 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6955              :           {
    6956            1 :             {
    6957            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6958            1 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6959            1 :               if (res) return res;
    6960              :             }
    6961              :           }
    6962              :         break;
    6963              :       }
    6964     26699630 :     default:;
    6965              :     }
    6966     26699630 : if (tree_with_possible_nonzero_bits (_p0))
    6967              :   {
    6968      9595798 :     if (tree_with_known_nonzero_bits (_p1))
    6969              :       {
    6970      8138392 :         {
    6971      8138392 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6972      8138392 :           tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6973      8138392 :           if (res) return res;
    6974              :         }
    6975              :       }
    6976              :   }
    6977     26680855 : if (tree_with_known_nonzero_bits (_p0))
    6978              :   {
    6979      6171446 :     if (tree_with_possible_nonzero_bits (_p1))
    6980              :       {
    6981      6139163 :         {
    6982      6139163 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    6983      6139163 :           tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6984      6139163 :           if (res) return res;
    6985              :         }
    6986              :       }
    6987              :   }
    6988     26680354 :   switch (TREE_CODE (_p1))
    6989              :     {
    6990          143 :     case MIN_EXPR:
    6991          143 :       {
    6992          143 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6993          143 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6994          143 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6995              :           {
    6996            0 :             {
    6997            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6998            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6999            0 :               if (res) return res;
    7000              :             }
    7001              :           }
    7002          143 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7003              :           {
    7004            0 :             {
    7005            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7006            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    7007            0 :               if (res) return res;
    7008              :             }
    7009              :           }
    7010              :         break;
    7011              :       }
    7012           54 :     case MAX_EXPR:
    7013           54 :       {
    7014           54 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7015           54 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7016           54 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7017              :           {
    7018            0 :             {
    7019            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7020            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    7021            0 :               if (res) return res;
    7022              :             }
    7023              :           }
    7024           54 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7025              :           {
    7026            0 :             {
    7027            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7028            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    7029            0 :               if (res) return res;
    7030              :             }
    7031              :           }
    7032              :         break;
    7033              :       }
    7034     26680354 :     default:;
    7035              :     }
    7036     26680354 :   switch (TREE_CODE (_p0))
    7037              :     {
    7038        10358 :     case MIN_EXPR:
    7039        10358 :       {
    7040        10358 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7041        10358 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7042        10358 :         switch (TREE_CODE (_q21))
    7043              :           {
    7044          158 :           case INTEGER_CST:
    7045          158 :             {
    7046          158 :               switch (TREE_CODE (_p1))
    7047              :                 {
    7048            0 :                 case INTEGER_CST:
    7049            0 :                   {
    7050            0 :                     {
    7051            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7052            0 :                       tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7053            0 :                       if (res) return res;
    7054              :                     }
    7055            0 :                     break;
    7056              :                   }
    7057              :                 default:;
    7058              :                 }
    7059              :               break;
    7060              :             }
    7061              :           default:;
    7062              :           }
    7063              :         break;
    7064              :       }
    7065          647 :     case MAX_EXPR:
    7066          647 :       {
    7067          647 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7068          647 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7069          647 :         switch (TREE_CODE (_q21))
    7070              :           {
    7071          409 :           case INTEGER_CST:
    7072          409 :             {
    7073          409 :               switch (TREE_CODE (_p1))
    7074              :                 {
    7075           42 :                 case INTEGER_CST:
    7076           42 :                   {
    7077           42 :                     {
    7078           42 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7079           42 :                       tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7080           42 :                       if (res) return res;
    7081              :                     }
    7082            0 :                     break;
    7083              :                   }
    7084              :                 default:;
    7085              :                 }
    7086              :               break;
    7087              :             }
    7088          605 :           default:;
    7089              :           }
    7090          605 :         if (integer_zerop (_p1))
    7091              :           {
    7092           11 :             {
    7093           11 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7094           11 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7095           11 :               if (res) return res;
    7096              :             }
    7097              :           }
    7098              :         break;
    7099              :       }
    7100       825995 :     case BIT_AND_EXPR:
    7101       825995 :       {
    7102       825995 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7103       825995 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7104       825995 :         switch (TREE_CODE (_q20))
    7105              :           {
    7106          743 :           case LSHIFT_EXPR:
    7107          743 :             {
    7108          743 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7109          743 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7110          743 :               if (integer_pow2p (_q30))
    7111              :                 {
    7112          735 :                   if (integer_pow2p (_q21))
    7113              :                     {
    7114            1 :                       if (integer_zerop (_p1))
    7115              :                         {
    7116            1 :                           {
    7117            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7118            1 :                             tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7119            1 :                             if (res) return res;
    7120              :                           }
    7121              :                         }
    7122              :                     }
    7123              :                 }
    7124          742 :               switch (TREE_CODE (_q31))
    7125              :                 {
    7126            0 :                 case INTEGER_CST:
    7127            0 :                   {
    7128            0 :                     switch (TREE_CODE (_q21))
    7129              :                       {
    7130            0 :                       case INTEGER_CST:
    7131            0 :                         {
    7132            0 :                           switch (TREE_CODE (_p1))
    7133              :                             {
    7134            0 :                             case INTEGER_CST:
    7135            0 :                               {
    7136            0 :                                 {
    7137            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7138            0 :                                   tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7139            0 :                                   if (res) return res;
    7140              :                                 }
    7141            0 :                                 break;
    7142              :                               }
    7143              :                             default:;
    7144              :                             }
    7145              :                           break;
    7146              :                         }
    7147              :                       default:;
    7148              :                       }
    7149              :                     break;
    7150              :                   }
    7151          742 :                 default:;
    7152              :                 }
    7153          742 :               if (integer_onep (_q30))
    7154              :                 {
    7155          734 :                   if (integer_pow2p (_q21))
    7156              :                     {
    7157            0 :                       if (integer_zerop (_p1))
    7158              :                         {
    7159            0 :                           {
    7160            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
    7161            0 :                             tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7162            0 :                             if (res) return res;
    7163              :                           }
    7164              :                         }
    7165              :                     }
    7166              :                 }
    7167              :               break;
    7168              :             }
    7169         2715 :           case RSHIFT_EXPR:
    7170         2715 :             {
    7171         2715 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7172         2715 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7173         2715 :               if (integer_pow2p (_q30))
    7174              :                 {
    7175            1 :                   if (integer_pow2p (_q21))
    7176              :                     {
    7177            1 :                       if (integer_zerop (_p1))
    7178              :                         {
    7179            1 :                           {
    7180            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7181            1 :                             tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7182            1 :                             if (res) return res;
    7183              :                           }
    7184              :                         }
    7185              :                     }
    7186              :                 }
    7187         2714 :               switch (TREE_CODE (_q31))
    7188              :                 {
    7189          418 :                 case INTEGER_CST:
    7190          418 :                   {
    7191          418 :                     switch (TREE_CODE (_q21))
    7192              :                       {
    7193          418 :                       case INTEGER_CST:
    7194          418 :                         {
    7195          418 :                           switch (TREE_CODE (_p1))
    7196              :                             {
    7197          418 :                             case INTEGER_CST:
    7198          418 :                               {
    7199          418 :                                 {
    7200          418 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7201          418 :                                   tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7202          418 :                                   if (res) return res;
    7203              :                                 }
    7204            0 :                                 break;
    7205              :                               }
    7206              :                             default:;
    7207              :                             }
    7208              :                           break;
    7209              :                         }
    7210              :                       default:;
    7211              :                       }
    7212              :                     break;
    7213              :                   }
    7214              :                 default:;
    7215              :                 }
    7216              :               break;
    7217              :             }
    7218       825575 :           default:;
    7219              :           }
    7220       825575 :       {
    7221       825575 :         tree _q20_pops[1];
    7222       825575 :         if (tree_nop_convert (_q20, _q20_pops))
    7223              :           {
    7224        21021 :             tree _q30 = _q20_pops[0];
    7225        21021 :             switch (TREE_CODE (_q30))
    7226              :               {
    7227            0 :               case LSHIFT_EXPR:
    7228            0 :                 {
    7229            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7230            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    7231            0 :                   if (integer_onep (_q40))
    7232              :                     {
    7233            0 :                       if (integer_pow2p (_q21))
    7234              :                         {
    7235            0 :                           if (integer_zerop (_p1))
    7236              :                             {
    7237            0 :                               {
    7238            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
    7239            0 :                                 tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7240            0 :                                 if (res) return res;
    7241              :                               }
    7242              :                             }
    7243              :                         }
    7244              :                     }
    7245              :                   break;
    7246              :                 }
    7247              :               default:;
    7248              :               }
    7249              :           }
    7250              :       }
    7251       825575 :         break;
    7252              :       }
    7253         1728 :     case LSHIFT_EXPR:
    7254         1728 :       {
    7255         1728 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7256         1728 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7257         1728 :         switch (TREE_CODE (_q20))
    7258              :           {
    7259          310 :           case INTEGER_CST:
    7260          310 :             {
    7261          310 :               switch (TREE_CODE (_p1))
    7262              :                 {
    7263           20 :                 case INTEGER_CST:
    7264           20 :                   {
    7265           20 :                     {
    7266           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7267           20 :                       tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7268           20 :                       if (res) return res;
    7269              :                     }
    7270            3 :                     break;
    7271              :                   }
    7272              :                 default:;
    7273              :                 }
    7274              :               break;
    7275              :             }
    7276              :           default:;
    7277              :           }
    7278              :         break;
    7279              :       }
    7280            0 :     case LROTATE_EXPR:
    7281            0 :       {
    7282            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7283            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7284            0 :         switch (TREE_CODE (_p1))
    7285              :           {
    7286            0 :           case LROTATE_EXPR:
    7287            0 :             {
    7288            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7289            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7290            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7291              :                 {
    7292            0 :                   {
    7293            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7294            0 :                     tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7295            0 :                     if (res) return res;
    7296              :                   }
    7297              :                 }
    7298              :               break;
    7299              :             }
    7300            0 :           default:;
    7301              :           }
    7302            0 :         switch (TREE_CODE (_q21))
    7303              :           {
    7304            0 :           case INTEGER_CST:
    7305            0 :             {
    7306            0 :               switch (TREE_CODE (_p1))
    7307              :                 {
    7308            0 :                 case INTEGER_CST:
    7309            0 :                   {
    7310            0 :                     {
    7311            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7312            0 :                       tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7313            0 :                       if (res) return res;
    7314              :                     }
    7315            0 :                     break;
    7316              :                   }
    7317              :                 default:;
    7318              :                 }
    7319              :               break;
    7320              :             }
    7321            0 :           default:;
    7322              :           }
    7323            0 :         switch (TREE_CODE (_p1))
    7324              :           {
    7325            0 :           case INTEGER_CST:
    7326            0 :             {
    7327            0 :               {
    7328            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7329            0 :                 tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7330            0 :                 if (res) return res;
    7331              :               }
    7332            0 :               break;
    7333              :             }
    7334              :           default:;
    7335              :           }
    7336              :         break;
    7337              :       }
    7338           42 :     case RROTATE_EXPR:
    7339           42 :       {
    7340           42 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7341           42 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7342           42 :         switch (TREE_CODE (_p1))
    7343              :           {
    7344            0 :           case RROTATE_EXPR:
    7345            0 :             {
    7346            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7347            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7348            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7349              :                 {
    7350            0 :                   {
    7351            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7352            0 :                     tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7353            0 :                     if (res) return res;
    7354              :                   }
    7355              :                 }
    7356              :               break;
    7357              :             }
    7358           42 :           default:;
    7359              :           }
    7360           42 :         switch (TREE_CODE (_q21))
    7361              :           {
    7362           42 :           case INTEGER_CST:
    7363           42 :             {
    7364           42 :               switch (TREE_CODE (_p1))
    7365              :                 {
    7366            0 :                 case INTEGER_CST:
    7367            0 :                   {
    7368            0 :                     {
    7369            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7370            0 :                       tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7371            0 :                       if (res) return res;
    7372              :                     }
    7373            0 :                     break;
    7374              :                   }
    7375              :                 default:;
    7376              :                 }
    7377              :               break;
    7378              :             }
    7379           42 :           default:;
    7380              :           }
    7381           42 :         switch (TREE_CODE (_p1))
    7382              :           {
    7383            0 :           case INTEGER_CST:
    7384            0 :             {
    7385            0 :               {
    7386            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7387            0 :                 tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7388            0 :                 if (res) return res;
    7389              :               }
    7390            0 :               break;
    7391              :             }
    7392              :           default:;
    7393              :           }
    7394              :         break;
    7395              :       }
    7396        64969 :     case MULT_EXPR:
    7397        64969 :       {
    7398        64969 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7399        64969 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7400        64969 :         switch (TREE_CODE (_q20))
    7401              :           {
    7402           66 :           case TRUNC_DIV_EXPR:
    7403           66 :             {
    7404           66 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7405           66 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7406           66 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    7407              :                 {
    7408           47 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7409              :                     {
    7410           47 :                       {
    7411           47 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7412           47 :                         tree res = generic_simplify_242 (loc, type, _p0, _p1, captures);
    7413           47 :                         if (res) return res;
    7414              :                       }
    7415              :                     }
    7416              :                 }
    7417              :               break;
    7418              :             }
    7419        64922 :           default:;
    7420              :           }
    7421        64922 :         switch (TREE_CODE (_q21))
    7422              :           {
    7423            0 :           case TRUNC_DIV_EXPR:
    7424            0 :             {
    7425            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7426            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    7427            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    7428              :                 {
    7429            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7430              :                     {
    7431            0 :                       {
    7432            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
    7433            0 :                         tree res = generic_simplify_242 (loc, type, _p0, _p1, captures);
    7434            0 :                         if (res) return res;
    7435              :                       }
    7436              :                     }
    7437              :                 }
    7438              :               break;
    7439              :             }
    7440              :           default:;
    7441              :           }
    7442              :         break;
    7443              :       }
    7444     26679828 :     default:;
    7445              :     }
    7446     26679828 :   switch (TREE_CODE (_p1))
    7447              :     {
    7448        13629 :     case MULT_EXPR:
    7449        13629 :       {
    7450        13629 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7451        13629 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7452        13629 :         switch (TREE_CODE (_q30))
    7453              :           {
    7454            0 :           case TRUNC_DIV_EXPR:
    7455            0 :             {
    7456            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7457            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7458            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7459              :                 {
    7460            0 :                   if ((_q31 == _q41 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q41, 0) && types_match (_q31, _q41)))
    7461              :                     {
    7462            0 :                       {
    7463            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    7464            0 :                         tree res = generic_simplify_242 (loc, type, _p0, _p1, captures);
    7465            0 :                         if (res) return res;
    7466              :                       }
    7467              :                     }
    7468              :                 }
    7469              :               break;
    7470              :             }
    7471        13629 :           default:;
    7472              :           }
    7473        13629 :         switch (TREE_CODE (_q31))
    7474              :           {
    7475            0 :           case TRUNC_DIV_EXPR:
    7476            0 :             {
    7477            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
    7478            0 :               tree _q51 = TREE_OPERAND (_q31, 1);
    7479            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7480              :                 {
    7481            0 :                   if ((_q51 == _q30 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q30, 0) && types_match (_q51, _q30)))
    7482              :                     {
    7483            0 :                       {
    7484            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
    7485            0 :                         tree res = generic_simplify_242 (loc, type, _p0, _p1, captures);
    7486            0 :                         if (res) return res;
    7487              :                       }
    7488              :                     }
    7489              :                 }
    7490              :               break;
    7491              :             }
    7492              :           default:;
    7493              :           }
    7494              :         break;
    7495              :       }
    7496     26679828 :     default:;
    7497              :     }
    7498     26679828 :   switch (TREE_CODE (_p0))
    7499              :     {
    7500          587 :     case VEC_COND_EXPR:
    7501          587 :       {
    7502          587 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7503          587 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7504          587 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7505          587 :         switch (TREE_CODE (_p1))
    7506              :           {
    7507          107 :           case VEC_COND_EXPR:
    7508          107 :             {
    7509          107 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7510          107 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7511          107 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7512          107 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7513              :                 {
    7514           60 :                   {
    7515           60 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7516           60 :                     if (VECTOR_TYPE_P (type)
    7517           60 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7518           60 :  || types_match (type, TREE_TYPE (captures[2]))
    7519           60 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7520              :  || (optimize_vectors_before_lowering_p ()
    7521            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7522              : )
    7523              :                       {
    7524           60 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1502;
    7525           60 :                         {
    7526           60 :                           tree res_op0;
    7527           60 :                           res_op0 = captures[1];
    7528           60 :                           tree res_op1;
    7529           60 :                           {
    7530           60 :                             tree _o1[2], _r1;
    7531           60 :                             _o1[0] = captures[2];
    7532           60 :                             _o1[1] = captures[5];
    7533           60 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7534           60 :                             if (EXPR_P (_r1))
    7535           60 :                               goto next_after_fail1502;
    7536            0 :                             res_op1 = _r1;
    7537              :                           }
    7538            0 :                           tree res_op2;
    7539            0 :                           {
    7540            0 :                             tree _o1[2], _r1;
    7541            0 :                             _o1[0] = captures[3];
    7542            0 :                             _o1[1] = captures[6];
    7543            0 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7544            0 :                             if (EXPR_P (_r1))
    7545            0 :                               goto next_after_fail1502;
    7546            0 :                             res_op2 = _r1;
    7547              :                           }
    7548            0 :                           tree _r;
    7549            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7550            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    7551            0 :                           return _r;
    7552              :                         }
    7553           60 : next_after_fail1502:;
    7554              :                       }
    7555              :                   }
    7556              :                 }
    7557              :               break;
    7558              :             }
    7559          587 :           default:;
    7560              :           }
    7561          587 :         {
    7562          587 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7563          587 :           if (VECTOR_TYPE_P (type)
    7564          587 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7565          587 :  || types_match (type, TREE_TYPE (captures[2]))
    7566          587 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7567              :  || (optimize_vectors_before_lowering_p ()
    7568           79 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7569              : )
    7570              :             {
    7571          587 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1503;
    7572          587 :               {
    7573          587 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1503;
    7574           86 :                 tree res_op0;
    7575           86 :                 res_op0 = captures[1];
    7576           86 :                 tree res_op1;
    7577           86 :                 {
    7578           86 :                   tree _o1[2], _r1;
    7579           86 :                   _o1[0] = captures[2];
    7580           86 :                   _o1[1] = unshare_expr (captures[4]);
    7581           86 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7582           86 :                   if (EXPR_P (_r1))
    7583           48 :                     goto next_after_fail1503;
    7584           38 :                   res_op1 = _r1;
    7585              :                 }
    7586           38 :                 tree res_op2;
    7587           38 :                 {
    7588           38 :                   tree _o1[2], _r1;
    7589           38 :                   _o1[0] = captures[3];
    7590           38 :                   _o1[1] = captures[4];
    7591           38 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7592           38 :                   if (EXPR_P (_r1))
    7593           17 :                     goto next_after_fail1503;
    7594           21 :                   res_op2 = _r1;
    7595              :                 }
    7596           21 :                 tree _r;
    7597           21 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7598           21 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    7599           21 :                 return _r;
    7600              :               }
    7601          566 : next_after_fail1503:;
    7602              :             }
    7603              :         }
    7604          566 :         break;
    7605              :       }
    7606      1936674 :     case CALL_EXPR:
    7607      1936674 :       switch (get_call_combined_fn (_p0))
    7608              :         {
    7609            1 :         case CFN_BUILT_IN_BITREVERSE128:
    7610            1 :           if (call_expr_nargs (_p0) == 1)
    7611              :     {
    7612            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7613            1 :               switch (TREE_CODE (_p1))
    7614              :                 {
    7615            1 :                 case INTEGER_CST:
    7616            1 :                   {
    7617            1 :                     {
    7618            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7619            1 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7620            1 :                       if (res) return res;
    7621              :                     }
    7622            1 :                     break;
    7623              :                   }
    7624            0 :                 case CALL_EXPR:
    7625            0 :                   switch (get_call_combined_fn (_p1))
    7626              :                     {
    7627            0 :                     case CFN_BUILT_IN_BITREVERSE128:
    7628            0 :                       if (call_expr_nargs (_p1) == 1)
    7629              :     {
    7630            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7631            0 :                           {
    7632            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7633            0 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7634            0 :                             if (res) return res;
    7635              :                           }
    7636              :                         }
    7637              :                       break;
    7638              :                     default:;
    7639              :                     }
    7640              :                   break;
    7641              :                 default:;
    7642              :                 }
    7643              :             }
    7644              :           break;
    7645            1 :         case CFN_BUILT_IN_BITREVERSE16:
    7646            1 :           if (call_expr_nargs (_p0) == 1)
    7647              :     {
    7648            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7649            1 :               switch (TREE_CODE (_p1))
    7650              :                 {
    7651            1 :                 case INTEGER_CST:
    7652            1 :                   {
    7653            1 :                     {
    7654            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7655            1 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7656            1 :                       if (res) return res;
    7657              :                     }
    7658            1 :                     break;
    7659              :                   }
    7660            0 :                 case CALL_EXPR:
    7661            0 :                   switch (get_call_combined_fn (_p1))
    7662              :                     {
    7663            0 :                     case CFN_BUILT_IN_BITREVERSE16:
    7664            0 :                       if (call_expr_nargs (_p1) == 1)
    7665              :     {
    7666            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7667            0 :                           {
    7668            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7669            0 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7670            0 :                             if (res) return res;
    7671              :                           }
    7672              :                         }
    7673              :                       break;
    7674              :                     default:;
    7675              :                     }
    7676              :                   break;
    7677              :                 default:;
    7678              :                 }
    7679              :             }
    7680              :           break;
    7681            1 :         case CFN_BUILT_IN_BITREVERSE32:
    7682            1 :           if (call_expr_nargs (_p0) == 1)
    7683              :     {
    7684            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7685            1 :               switch (TREE_CODE (_p1))
    7686              :                 {
    7687            1 :                 case INTEGER_CST:
    7688            1 :                   {
    7689            1 :                     {
    7690            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7691            1 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7692            1 :                       if (res) return res;
    7693              :                     }
    7694            1 :                     break;
    7695              :                   }
    7696            0 :                 case CALL_EXPR:
    7697            0 :                   switch (get_call_combined_fn (_p1))
    7698              :                     {
    7699            0 :                     case CFN_BUILT_IN_BITREVERSE32:
    7700            0 :                       if (call_expr_nargs (_p1) == 1)
    7701              :     {
    7702            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7703            0 :                           {
    7704            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7705            0 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7706            0 :                             if (res) return res;
    7707              :                           }
    7708              :                         }
    7709              :                       break;
    7710              :                     default:;
    7711              :                     }
    7712              :                   break;
    7713              :                 default:;
    7714              :                 }
    7715              :             }
    7716              :           break;
    7717            1 :         case CFN_BUILT_IN_BITREVERSE64:
    7718            1 :           if (call_expr_nargs (_p0) == 1)
    7719              :     {
    7720            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7721            1 :               switch (TREE_CODE (_p1))
    7722              :                 {
    7723            1 :                 case INTEGER_CST:
    7724            1 :                   {
    7725            1 :                     {
    7726            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7727            1 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE64);
    7728            1 :                       if (res) return res;
    7729              :                     }
    7730            1 :                     break;
    7731              :                   }
    7732            0 :                 case CALL_EXPR:
    7733            0 :                   switch (get_call_combined_fn (_p1))
    7734              :                     {
    7735            0 :                     case CFN_BUILT_IN_BITREVERSE64:
    7736            0 :                       if (call_expr_nargs (_p1) == 1)
    7737              :     {
    7738            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7739            0 :                           {
    7740            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7741            0 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE64);
    7742            0 :                             if (res) return res;
    7743              :                           }
    7744              :                         }
    7745              :                       break;
    7746              :                     default:;
    7747              :                     }
    7748              :                   break;
    7749              :                 default:;
    7750              :                 }
    7751              :             }
    7752              :           break;
    7753            0 :         case CFN_BUILT_IN_BSWAP128:
    7754            0 :           if (call_expr_nargs (_p0) == 1)
    7755              :     {
    7756            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7757            0 :               switch (TREE_CODE (_p1))
    7758              :                 {
    7759            0 :                 case INTEGER_CST:
    7760            0 :                   {
    7761            0 :                     {
    7762            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7763            0 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    7764            0 :                       if (res) return res;
    7765              :                     }
    7766            0 :                     break;
    7767              :                   }
    7768            0 :                 case CALL_EXPR:
    7769            0 :                   switch (get_call_combined_fn (_p1))
    7770              :                     {
    7771            0 :                     case CFN_BUILT_IN_BSWAP128:
    7772            0 :                       if (call_expr_nargs (_p1) == 1)
    7773              :     {
    7774            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7775            0 :                           {
    7776            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7777            0 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    7778            0 :                             if (res) return res;
    7779              :                           }
    7780              :                         }
    7781              :                       break;
    7782              :                     default:;
    7783              :                     }
    7784              :                   break;
    7785              :                 default:;
    7786              :                 }
    7787              :             }
    7788              :           break;
    7789            1 :         case CFN_BUILT_IN_BITREVERSE8:
    7790            1 :           if (call_expr_nargs (_p0) == 1)
    7791              :     {
    7792            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7793            1 :               switch (TREE_CODE (_p1))
    7794              :                 {
    7795            1 :                 case INTEGER_CST:
    7796            1 :                   {
    7797            1 :                     {
    7798            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7799            1 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE8);
    7800            1 :                       if (res) return res;
    7801              :                     }
    7802            1 :                     break;
    7803              :                   }
    7804            0 :                 case CALL_EXPR:
    7805            0 :                   switch (get_call_combined_fn (_p1))
    7806              :                     {
    7807            0 :                     case CFN_BUILT_IN_BITREVERSE8:
    7808            0 :                       if (call_expr_nargs (_p1) == 1)
    7809              :     {
    7810            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7811            0 :                           {
    7812            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7813            0 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE8);
    7814            0 :                             if (res) return res;
    7815              :                           }
    7816              :                         }
    7817              :                       break;
    7818              :                     default:;
    7819              :                     }
    7820              :                   break;
    7821              :                 default:;
    7822              :                 }
    7823              :             }
    7824              :           break;
    7825            2 :         case CFN_BUILT_IN_BSWAP16:
    7826            2 :           if (call_expr_nargs (_p0) == 1)
    7827              :     {
    7828            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7829            2 :               switch (TREE_CODE (_p1))
    7830              :                 {
    7831            1 :                 case INTEGER_CST:
    7832            1 :                   {
    7833            1 :                     {
    7834            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7835            1 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    7836            1 :                       if (res) return res;
    7837              :                     }
    7838            1 :                     break;
    7839              :                   }
    7840            1 :                 case CALL_EXPR:
    7841            1 :                   switch (get_call_combined_fn (_p1))
    7842              :                     {
    7843            1 :                     case CFN_BUILT_IN_BSWAP16:
    7844            1 :                       if (call_expr_nargs (_p1) == 1)
    7845              :     {
    7846            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7847            1 :                           {
    7848            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7849            1 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    7850            1 :                             if (res) return res;
    7851              :                           }
    7852              :                         }
    7853              :                       break;
    7854              :                     default:;
    7855              :                     }
    7856              :                   break;
    7857              :                 default:;
    7858              :                 }
    7859              :             }
    7860              :           break;
    7861            6 :         case CFN_BUILT_IN_BSWAP32:
    7862            6 :           if (call_expr_nargs (_p0) == 1)
    7863              :     {
    7864            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7865            6 :               switch (TREE_CODE (_p1))
    7866              :                 {
    7867            3 :                 case INTEGER_CST:
    7868            3 :                   {
    7869            3 :                     {
    7870            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7871            3 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    7872            3 :                       if (res) return res;
    7873              :                     }
    7874            3 :                     break;
    7875              :                   }
    7876            3 :                 case CALL_EXPR:
    7877            3 :                   switch (get_call_combined_fn (_p1))
    7878              :                     {
    7879            3 :                     case CFN_BUILT_IN_BSWAP32:
    7880            3 :                       if (call_expr_nargs (_p1) == 1)
    7881              :     {
    7882            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7883            3 :                           {
    7884            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7885            3 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    7886            3 :                             if (res) return res;
    7887              :                           }
    7888              :                         }
    7889              :                       break;
    7890              :                     default:;
    7891              :                     }
    7892              :                   break;
    7893              :                 default:;
    7894              :                 }
    7895              :             }
    7896              :           break;
    7897            6 :         case CFN_BUILT_IN_BSWAP64:
    7898            6 :           if (call_expr_nargs (_p0) == 1)
    7899              :     {
    7900            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7901            6 :               switch (TREE_CODE (_p1))
    7902              :                 {
    7903            3 :                 case INTEGER_CST:
    7904            3 :                   {
    7905            3 :                     {
    7906            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7907            3 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    7908            3 :                       if (res) return res;
    7909              :                     }
    7910            3 :                     break;
    7911              :                   }
    7912            3 :                 case CALL_EXPR:
    7913            3 :                   switch (get_call_combined_fn (_p1))
    7914              :                     {
    7915            3 :                     case CFN_BUILT_IN_BSWAP64:
    7916            3 :                       if (call_expr_nargs (_p1) == 1)
    7917              :     {
    7918            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7919            3 :                           {
    7920            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7921            3 :                             tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    7922            3 :                             if (res) return res;
    7923              :                           }
    7924              :                         }
    7925              :                       break;
    7926              :                     default:;
    7927              :                     }
    7928              :                   break;
    7929              :                 default:;
    7930              :                 }
    7931              :             }
    7932              :           break;
    7933              :         default:;
    7934              :         }
    7935              :       break;
    7936     26679800 :     default:;
    7937              :     }
    7938     26679800 :   switch (TREE_CODE (_p1))
    7939              :     {
    7940          122 :     case VEC_COND_EXPR:
    7941          122 :       {
    7942          122 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7943          122 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7944          122 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7945          122 :         {
    7946          122 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7947          122 :           if (VECTOR_TYPE_P (type)
    7948          122 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7949          122 :  || types_match (type, TREE_TYPE (captures[3]))
    7950          122 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7951              :  || (optimize_vectors_before_lowering_p ()
    7952           21 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7953              : )
    7954              :             {
    7955          122 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1504;
    7956          122 :               {
    7957          122 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1504;
    7958            0 :                 tree res_op0;
    7959            0 :                 res_op0 = captures[2];
    7960            0 :                 tree res_op1;
    7961            0 :                 {
    7962            0 :                   tree _o1[2], _r1;
    7963            0 :                   _o1[0] = unshare_expr (captures[0]);
    7964            0 :                   _o1[1] = captures[3];
    7965            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7966            0 :                   if (EXPR_P (_r1))
    7967            0 :                     goto next_after_fail1504;
    7968            0 :                   res_op1 = _r1;
    7969              :                 }
    7970            0 :                 tree res_op2;
    7971            0 :                 {
    7972            0 :                   tree _o1[2], _r1;
    7973            0 :                   _o1[0] = captures[0];
    7974            0 :                   _o1[1] = captures[4];
    7975            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7976            0 :                   if (EXPR_P (_r1))
    7977            0 :                     goto next_after_fail1504;
    7978            0 :                   res_op2 = _r1;
    7979              :                 }
    7980            0 :                 tree _r;
    7981            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7982            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    7983            0 :                 return _r;
    7984              :               }
    7985          122 : next_after_fail1504:;
    7986              :             }
    7987              :         }
    7988          122 :         break;
    7989              :       }
    7990     26679800 :     default:;
    7991              :     }
    7992     26679800 :   switch (TREE_CODE (_p0))
    7993              :     {
    7994        41168 :     case COND_EXPR:
    7995        41168 :       {
    7996        41168 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7997        41168 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7998        41168 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7999        41168 :         switch (TREE_CODE (_p1))
    8000              :           {
    8001           37 :           case COND_EXPR:
    8002           37 :             {
    8003           37 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8004           37 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8005           37 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8006           37 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8007              :                 {
    8008            3 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8009              :                     {
    8010            3 :                       {
    8011            3 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8012            3 :                         const enum tree_code eqne = EQ_EXPR;
    8013            3 :                         if (!HONOR_NANS (captures[1])
    8014            3 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8015            3 :  && types_match (type, TREE_TYPE (captures[0]))
    8016            3 :  && expr_no_side_effects_p (captures[1])
    8017            4 :  && expr_no_side_effects_p (captures[2])
    8018              : )
    8019              :                           {
    8020            1 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1505;
    8021            1 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1505;
    8022            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1505;
    8023            1 :                             {
    8024            1 :                               tree res_op0;
    8025            1 :                               {
    8026            1 :                                 tree _o1[2], _r1;
    8027            1 :                                 {
    8028            1 :                                   tree _o2[2], _r2;
    8029            1 :                                   _o2[0] = captures[0];
    8030            1 :                                   _o2[1] = captures[3];
    8031            1 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8032            1 :                                   _o1[0] = _r2;
    8033              :                                 }
    8034            1 :                                 {
    8035            1 :                                   tree _o2[2], _r2;
    8036            1 :                                   _o2[0] = captures[1];
    8037            1 :                                   _o2[1] = captures[2];
    8038            1 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8039            1 :                                   _o1[1] = _r2;
    8040              :                                 }
    8041            1 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8042            1 :                                 res_op0 = _r1;
    8043              :                               }
    8044            1 :                               tree res_op1;
    8045            1 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8046            1 :                               tree res_op2;
    8047            1 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8048            1 :                               tree _r;
    8049            1 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8050            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 981, __FILE__, __LINE__, true);
    8051            1 :                               return _r;
    8052              :                             }
    8053            2 : next_after_fail1505:;
    8054              :                           }
    8055              :                       }
    8056              :                     }
    8057              :                 }
    8058           36 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8059              :                 {
    8060            7 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8061              :                     {
    8062            7 :                       {
    8063            7 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8064            7 :                         const enum tree_code eqne = EQ_EXPR;
    8065            7 :                         if (!HONOR_NANS (captures[1])
    8066            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8067            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8068            0 :  && expr_no_side_effects_p (captures[1])
    8069            7 :  && expr_no_side_effects_p (captures[2])
    8070              : )
    8071              :                           {
    8072            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1506;
    8073            0 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1506;
    8074            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1506;
    8075            0 :                             {
    8076            0 :                               tree res_op0;
    8077            0 :                               {
    8078            0 :                                 tree _o1[2], _r1;
    8079            0 :                                 {
    8080            0 :                                   tree _o2[2], _r2;
    8081            0 :                                   _o2[0] = captures[0];
    8082            0 :                                   _o2[1] = captures[3];
    8083            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8084            0 :                                   _o1[0] = _r2;
    8085              :                                 }
    8086            0 :                                 {
    8087            0 :                                   tree _o2[2], _r2;
    8088            0 :                                   _o2[0] = captures[1];
    8089            0 :                                   _o2[1] = captures[2];
    8090            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8091            0 :                                   _o1[1] = _r2;
    8092              :                                 }
    8093            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8094            0 :                                 res_op0 = _r1;
    8095              :                               }
    8096            0 :                               tree res_op1;
    8097            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8098            0 :                               tree res_op2;
    8099            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8100            0 :                               tree _r;
    8101            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8102            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
    8103            0 :                               return _r;
    8104              :                             }
    8105            7 : next_after_fail1506:;
    8106              :                           }
    8107              :                       }
    8108              :                     }
    8109              :                 }
    8110              :               break;
    8111              :             }
    8112              :           default:;
    8113              :           }
    8114              :         break;
    8115              :       }
    8116          566 :     case VEC_COND_EXPR:
    8117          566 :       {
    8118          566 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8119          566 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8120          566 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8121          566 :         switch (TREE_CODE (_p1))
    8122              :           {
    8123          107 :           case VEC_COND_EXPR:
    8124          107 :             {
    8125          107 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8126          107 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8127          107 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8128          107 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8129              :                 {
    8130           66 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8131              :                     {
    8132           66 :                       {
    8133           66 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8134           66 :                         const enum tree_code eqne = EQ_EXPR;
    8135           66 :                         if (!HONOR_NANS (captures[1])
    8136            6 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8137            6 :  && types_match (type, TREE_TYPE (captures[0]))
    8138            6 :  && expr_no_side_effects_p (captures[1])
    8139           72 :  && expr_no_side_effects_p (captures[2])
    8140              : )
    8141              :                           {
    8142            6 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1507;
    8143            6 :                             {
    8144            6 :                               tree res_op0;
    8145            6 :                               {
    8146            6 :                                 tree _o1[2], _r1;
    8147            6 :                                 {
    8148            6 :                                   tree _o2[2], _r2;
    8149            6 :                                   _o2[0] = captures[0];
    8150            6 :                                   _o2[1] = captures[3];
    8151            6 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8152            6 :                                   _o1[0] = _r2;
    8153              :                                 }
    8154            6 :                                 {
    8155            6 :                                   tree _o2[2], _r2;
    8156            6 :                                   _o2[0] = captures[1];
    8157            6 :                                   _o2[1] = captures[2];
    8158            6 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8159            6 :                                   _o1[1] = _r2;
    8160              :                                 }
    8161            6 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8162            6 :                                 res_op0 = _r1;
    8163              :                               }
    8164            6 :                               tree res_op1;
    8165            6 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8166            6 :                               tree res_op2;
    8167            6 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8168            6 :                               tree _r;
    8169            6 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8170            6 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 981, __FILE__, __LINE__, true);
    8171            6 :                               return _r;
    8172              :                             }
    8173            0 : next_after_fail1507:;
    8174              :                           }
    8175              :                       }
    8176              :                     }
    8177              :                 }
    8178          101 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8179              :                 {
    8180           37 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8181              :                     {
    8182           37 :                       {
    8183           37 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8184           37 :                         const enum tree_code eqne = EQ_EXPR;
    8185           37 :                         if (!HONOR_NANS (captures[1])
    8186            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8187            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8188            0 :  && expr_no_side_effects_p (captures[1])
    8189           37 :  && expr_no_side_effects_p (captures[2])
    8190              : )
    8191              :                           {
    8192            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1508;
    8193            0 :                             {
    8194            0 :                               tree res_op0;
    8195            0 :                               {
    8196            0 :                                 tree _o1[2], _r1;
    8197            0 :                                 {
    8198            0 :                                   tree _o2[2], _r2;
    8199            0 :                                   _o2[0] = captures[0];
    8200            0 :                                   _o2[1] = captures[3];
    8201            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8202            0 :                                   _o1[0] = _r2;
    8203              :                                 }
    8204            0 :                                 {
    8205            0 :                                   tree _o2[2], _r2;
    8206            0 :                                   _o2[0] = captures[1];
    8207            0 :                                   _o2[1] = captures[2];
    8208            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8209            0 :                                   _o1[1] = _r2;
    8210              :                                 }
    8211            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8212            0 :                                 res_op0 = _r1;
    8213              :                               }
    8214            0 :                               tree res_op1;
    8215            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8216            0 :                               tree res_op2;
    8217            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8218            0 :                               tree _r;
    8219            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8220            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
    8221            0 :                               return _r;
    8222              :                             }
    8223            0 : next_after_fail1508:;
    8224              :                           }
    8225              :                       }
    8226              :                     }
    8227              :                 }
    8228              :               break;
    8229              :             }
    8230              :           default:;
    8231              :           }
    8232              :         break;
    8233              :       }
    8234         1141 :     case LT_EXPR:
    8235         1141 :       {
    8236         1141 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8237         1141 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8238         1141 :         if (integer_truep (_p1))
    8239              :           {
    8240            5 :             {
    8241            5 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8242            5 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8243            5 :               if (res) return res;
    8244              :             }
    8245              :           }
    8246         1141 :         if (integer_zerop (_p1))
    8247              :           {
    8248          424 :             {
    8249          424 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8250          424 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8251          424 :               if (res) return res;
    8252              :             }
    8253              :           }
    8254              :         break;
    8255              :       }
    8256         1541 :     case LE_EXPR:
    8257         1541 :       {
    8258         1541 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8259         1541 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8260         1541 :         if (integer_truep (_p1))
    8261              :           {
    8262            0 :             {
    8263            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8264            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8265            0 :               if (res) return res;
    8266              :             }
    8267              :           }
    8268         1541 :         if (integer_zerop (_p1))
    8269              :           {
    8270          677 :             {
    8271          677 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8272          677 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8273          677 :               if (res) return res;
    8274              :             }
    8275              :           }
    8276              :         break;
    8277              :       }
    8278        32209 :     case EQ_EXPR:
    8279        32209 :       {
    8280        32209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8281        32209 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8282        32209 :         if (integer_truep (_p1))
    8283              :           {
    8284           48 :             {
    8285           48 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8286           48 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8287           48 :               if (res) return res;
    8288              :             }
    8289              :           }
    8290        32204 :         if (integer_zerop (_p1))
    8291              :           {
    8292         7584 :             {
    8293         7584 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8294         7584 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8295         7584 :               if (res) return res;
    8296              :             }
    8297              :           }
    8298              :         break;
    8299              :       }
    8300        11802 :     case NE_EXPR:
    8301        11802 :       {
    8302        11802 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8303        11802 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8304        11802 :         if (integer_truep (_p1))
    8305              :           {
    8306          126 :             {
    8307          126 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8308          126 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8309          126 :               if (res) return res;
    8310              :             }
    8311              :           }
    8312        11682 :         if (integer_zerop (_p1))
    8313              :           {
    8314         9899 :             {
    8315         9899 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8316         9899 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8317         9899 :               if (res) return res;
    8318              :             }
    8319              :           }
    8320              :         break;
    8321              :       }
    8322         6618 :     case GE_EXPR:
    8323         6618 :       {
    8324         6618 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8325         6618 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8326         6618 :         if (integer_truep (_p1))
    8327              :           {
    8328            0 :             {
    8329            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8330            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8331            0 :               if (res) return res;
    8332              :             }
    8333              :           }
    8334         6618 :         if (integer_zerop (_p1))
    8335              :           {
    8336         5499 :             {
    8337         5499 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8338         5499 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8339         5499 :               if (res) return res;
    8340              :             }
    8341              :           }
    8342              :         break;
    8343              :       }
    8344        65149 :     case GT_EXPR:
    8345        65149 :       {
    8346        65149 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8347        65149 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8348        65149 :         if (integer_truep (_p1))
    8349              :           {
    8350            0 :             {
    8351            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8352            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8353            0 :               if (res) return res;
    8354              :             }
    8355              :           }
    8356        65149 :         if (integer_zerop (_p1))
    8357              :           {
    8358          447 :             {
    8359          447 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8360          447 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8361          447 :               if (res) return res;
    8362              :             }
    8363              :           }
    8364              :         break;
    8365              :       }
    8366         1023 :     case UNORDERED_EXPR:
    8367         1023 :       {
    8368         1023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8369         1023 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8370         1023 :         if (integer_truep (_p1))
    8371              :           {
    8372            0 :             {
    8373            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8374            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8375            0 :               if (res) return res;
    8376              :             }
    8377              :           }
    8378         1023 :         if (integer_zerop (_p1))
    8379              :           {
    8380         1017 :             {
    8381         1017 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8382         1017 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8383         1017 :               if (res) return res;
    8384              :             }
    8385              :           }
    8386              :         break;
    8387              :       }
    8388            0 :     case ORDERED_EXPR:
    8389            0 :       {
    8390            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8391            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8392            0 :         if (integer_truep (_p1))
    8393              :           {
    8394            0 :             {
    8395            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8396            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8397            0 :               if (res) return res;
    8398              :             }
    8399              :           }
    8400            0 :         if (integer_zerop (_p1))
    8401              :           {
    8402            0 :             {
    8403            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8404            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8405            0 :               if (res) return res;
    8406              :             }
    8407              :           }
    8408              :         break;
    8409              :       }
    8410            0 :     case UNLT_EXPR:
    8411            0 :       {
    8412            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8413            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8414            0 :         if (integer_truep (_p1))
    8415              :           {
    8416            0 :             {
    8417            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8418            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8419            0 :               if (res) return res;
    8420              :             }
    8421              :           }
    8422            0 :         if (integer_zerop (_p1))
    8423              :           {
    8424            0 :             {
    8425            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8426            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8427            0 :               if (res) return res;
    8428              :             }
    8429              :           }
    8430              :         break;
    8431              :       }
    8432            0 :     case UNLE_EXPR:
    8433            0 :       {
    8434            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8435            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8436            0 :         if (integer_truep (_p1))
    8437              :           {
    8438            0 :             {
    8439            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8440            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8441            0 :               if (res) return res;
    8442              :             }
    8443              :           }
    8444            0 :         if (integer_zerop (_p1))
    8445              :           {
    8446            0 :             {
    8447            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8448            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8449            0 :               if (res) return res;
    8450              :             }
    8451              :           }
    8452              :         break;
    8453              :       }
    8454            0 :     case UNGT_EXPR:
    8455            0 :       {
    8456            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8457            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8458            0 :         if (integer_truep (_p1))
    8459              :           {
    8460            0 :             {
    8461            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8462            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8463            0 :               if (res) return res;
    8464              :             }
    8465              :           }
    8466            0 :         if (integer_zerop (_p1))
    8467              :           {
    8468            0 :             {
    8469            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8470            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8471            0 :               if (res) return res;
    8472              :             }
    8473              :           }
    8474              :         break;
    8475              :       }
    8476            0 :     case UNGE_EXPR:
    8477            0 :       {
    8478            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8479            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8480            0 :         if (integer_truep (_p1))
    8481              :           {
    8482            0 :             {
    8483            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8484            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8485            0 :               if (res) return res;
    8486              :             }
    8487              :           }
    8488            0 :         if (integer_zerop (_p1))
    8489              :           {
    8490            0 :             {
    8491            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8492            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8493            0 :               if (res) return res;
    8494              :             }
    8495              :           }
    8496              :         break;
    8497              :       }
    8498            0 :     case UNEQ_EXPR:
    8499            0 :       {
    8500            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8501            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8502            0 :         if (integer_truep (_p1))
    8503              :           {
    8504            0 :             {
    8505            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8506            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8507            0 :               if (res) return res;
    8508              :             }
    8509              :           }
    8510            0 :         if (integer_zerop (_p1))
    8511              :           {
    8512            0 :             {
    8513            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8514            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8515            0 :               if (res) return res;
    8516              :             }
    8517              :           }
    8518              :         break;
    8519              :       }
    8520            0 :     case LTGT_EXPR:
    8521            0 :       {
    8522            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8523            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8524            0 :         if (integer_truep (_p1))
    8525              :           {
    8526            0 :             {
    8527            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8528            0 :               tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8529            0 :               if (res) return res;
    8530              :             }
    8531              :           }
    8532            0 :         if (integer_zerop (_p1))
    8533              :           {
    8534            0 :             {
    8535            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8536            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8537            0 :               if (res) return res;
    8538              :             }
    8539              :           }
    8540              :         break;
    8541              :       }
    8542       153523 :     case MINUS_EXPR:
    8543       153523 :       {
    8544       153523 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8545       153523 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8546       153523 :         if (integer_zerop (_p1))
    8547              :           {
    8548        57033 :             {
    8549        57033 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8550        57033 :               tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8551        57033 :               if (res) return res;
    8552              :             }
    8553              :           }
    8554              :         break;
    8555              :       }
    8556        30948 :     case POINTER_DIFF_EXPR:
    8557        30948 :       {
    8558        30948 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8559        30948 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8560        30948 :         if (integer_zerop (_p1))
    8561              :           {
    8562         1473 :             {
    8563         1473 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8564         1473 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8565         1473 :               if (res) return res;
    8566              :             }
    8567              :           }
    8568              :         break;
    8569              :       }
    8570        64922 :     case MULT_EXPR:
    8571        64922 :       {
    8572        64922 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8573        64922 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8574        64922 :         switch (TREE_CODE (_q21))
    8575              :           {
    8576        57159 :           case INTEGER_CST:
    8577        57159 :             {
    8578        57159 :               switch (TREE_CODE (_p1))
    8579              :                 {
    8580         9674 :                 case INTEGER_CST:
    8581         9674 :                   {
    8582         9674 :                     {
    8583         9674 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8584         9674 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8585         9674 :                       if (res) return res;
    8586              :                     }
    8587         8724 :                     break;
    8588              :                   }
    8589        56209 :                 default:;
    8590              :                 }
    8591        56209 :             if (integer_zerop (_p1))
    8592              :               {
    8593         4279 :                 {
    8594         4279 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8595         4279 :                   tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8596         4279 :                   if (res) return res;
    8597              :                 }
    8598              :               }
    8599              :               break;
    8600              :             }
    8601              :           default:;
    8602              :           }
    8603              :         break;
    8604              :       }
    8605     26595569 :     default:;
    8606              :     }
    8607     26595569 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8608              :     {
    8609        90688 :       {
    8610        90688 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8611        90688 :         tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8612        90688 :         if (res) return res;
    8613              :       }
    8614              :     }
    8615     26509804 :   switch (TREE_CODE (_p0))
    8616              :     {
    8617      4841454 :     CASE_CONVERT:
    8618      4841454 :       {
    8619      4841454 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8620      4841454 :         switch (TREE_CODE (_p1))
    8621              :           {
    8622      1184447 :           CASE_CONVERT:
    8623      1184447 :             {
    8624      1184447 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8625      1184447 :               {
    8626      1184447 :                 tree _q40_pops[1];
    8627      1184447 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    8628              :                   {
    8629            0 :                     tree _q50 = _q40_pops[0];
    8630            0 :                     {
    8631            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    8632            0 :                       tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8633            0 :                       if (res) return res;
    8634              :                     }
    8635              :                   }
    8636              :               }
    8637      1184447 :               break;
    8638              :             }
    8639      4841454 :           default:;
    8640              :           }
    8641      4841454 :         {
    8642      4841454 :           tree _q20_pops[1];
    8643      4841454 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    8644              :             {
    8645          232 :               tree _q30 = _q20_pops[0];
    8646          232 :               switch (TREE_CODE (_p1))
    8647              :                 {
    8648           74 :                 CASE_CONVERT:
    8649           74 :                   {
    8650           74 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8651           74 :                     {
    8652           74 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    8653           74 :                       tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8654           74 :                       if (res) return res;
    8655              :                     }
    8656           74 :                     break;
    8657              :                   }
    8658              :                 default:;
    8659              :                 }
    8660              :             }
    8661              :         }
    8662      4841454 :         break;
    8663              :       }
    8664     26509804 :     default:;
    8665              :     }
    8666     26509804 :   {
    8667     26509804 :     tree _p1_pops[1];
    8668     26509804 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    8669              :       {
    8670     19074304 :         tree _q30 = _p1_pops[0];
    8671     19074304 :         {
    8672     19074304 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8673     19074304 :           tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8674     19074304 :           if (res) return res;
    8675              :         }
    8676              :       }
    8677              :   }
    8678     26509802 :   switch (TREE_CODE (_p0))
    8679              :     {
    8680          404 :     case BIT_NOT_EXPR:
    8681          404 :       {
    8682          404 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8683          404 :         switch (TREE_CODE (_p1))
    8684              :           {
    8685            1 :           case BIT_NOT_EXPR:
    8686            1 :             {
    8687            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8688            1 :               {
    8689            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8690            1 :                 tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8691            1 :                 if (res) return res;
    8692              :               }
    8693            0 :               break;
    8694              :             }
    8695          403 :           default:;
    8696              :           }
    8697          403 :       {
    8698          403 :         tree _p1_pops[1];
    8699          403 :         if (tree_nop_convert (_p1, _p1_pops))
    8700              :           {
    8701            3 :             tree _q40 = _p1_pops[0];
    8702            3 :             switch (TREE_CODE (_q40))
    8703              :               {
    8704            0 :               case BIT_NOT_EXPR:
    8705            0 :                 {
    8706            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8707            0 :                   {
    8708            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8709            0 :                     tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8710            0 :                     if (res) return res;
    8711              :                   }
    8712            0 :                   break;
    8713              :                 }
    8714              :               default:;
    8715              :               }
    8716              :           }
    8717              :       }
    8718          403 :       if (CONSTANT_CLASS_P (_p1))
    8719              :         {
    8720          195 :           {
    8721          195 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8722          195 :             tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8723          195 :             if (res) return res;
    8724              :           }
    8725              :         }
    8726              :         break;
    8727              :       }
    8728     26509606 :     default:;
    8729              :     }
    8730     26509606 : {
    8731     26509606 :   tree _p0_pops[1];
    8732     26509606 :   if (tree_maybe_bit_not (_p0, _p0_pops))
    8733              :     {
    8734        94568 :       tree _q20 = _p0_pops[0];
    8735        94568 :       {
    8736        94568 :         tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    8737        94568 :         tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8738        94568 :         if (res) return res;
    8739              :       }
    8740              :     }
    8741              : }
    8742     26509605 : {
    8743     26509605 :   tree _p0_pops[1];
    8744     26509605 :   if (tree_nop_convert (_p0, _p0_pops))
    8745              :     {
    8746      2764274 :       tree _q20 = _p0_pops[0];
    8747      2764274 :       switch (TREE_CODE (_q20))
    8748              :         {
    8749           41 :         case BIT_NOT_EXPR:
    8750           41 :           {
    8751           41 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8752           41 :             switch (TREE_CODE (_p1))
    8753              :               {
    8754            0 :               case BIT_NOT_EXPR:
    8755            0 :                 {
    8756            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8757            0 :                   {
    8758            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8759            0 :                     tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8760            0 :                     if (res) return res;
    8761              :                   }
    8762            0 :                   break;
    8763              :                 }
    8764           41 :               default:;
    8765              :               }
    8766           41 :           {
    8767           41 :             tree _p1_pops[1];
    8768           41 :             if (tree_nop_convert (_p1, _p1_pops))
    8769              :               {
    8770            0 :                 tree _q50 = _p1_pops[0];
    8771            0 :                 switch (TREE_CODE (_q50))
    8772              :                   {
    8773            0 :                   case BIT_NOT_EXPR:
    8774            0 :                     {
    8775            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8776            0 :                       {
    8777            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8778            0 :                         tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8779            0 :                         if (res) return res;
    8780              :                       }
    8781            0 :                       break;
    8782              :                     }
    8783              :                   default:;
    8784              :                   }
    8785              :               }
    8786              :           }
    8787           41 :           if (CONSTANT_CLASS_P (_p1))
    8788              :             {
    8789           41 :               {
    8790           41 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8791           41 :                 tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8792           41 :                 if (res) return res;
    8793              :               }
    8794              :             }
    8795              :             break;
    8796              :           }
    8797              :         default:;
    8798              :         }
    8799              :     }
    8800              : }
    8801     26509564 :   switch (TREE_CODE (_p1))
    8802              :     {
    8803       928774 :     case REAL_CST:
    8804       928774 :       {
    8805       928774 :         {
    8806       928774 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8807       928774 :           tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8808       928774 :           if (res) return res;
    8809              :         }
    8810       927772 :         break;
    8811              :       }
    8812     26508562 :     default:;
    8813              :     }
    8814     26508562 :   switch (TREE_CODE (_p0))
    8815              :     {
    8816       647131 :     case PLUS_EXPR:
    8817       647131 :       {
    8818       647131 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8819       647131 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8820       647131 :         switch (TREE_CODE (_q21))
    8821              :           {
    8822          576 :           case REAL_CST:
    8823          576 :             {
    8824          576 :               switch (TREE_CODE (_p1))
    8825              :                 {
    8826          405 :                 case REAL_CST:
    8827          405 :                   {
    8828          405 :                     {
    8829          405 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8830          405 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR);
    8831          405 :                       if (res) return res;
    8832              :                     }
    8833          405 :                     break;
    8834              :                   }
    8835              :                 default:;
    8836              :                 }
    8837              :               break;
    8838              :             }
    8839              :           default:;
    8840              :           }
    8841              :         break;
    8842              :       }
    8843        96490 :     case MINUS_EXPR:
    8844        96490 :       {
    8845        96490 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8846        96490 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8847        96490 :         switch (TREE_CODE (_q21))
    8848              :           {
    8849           60 :           case REAL_CST:
    8850           60 :             {
    8851           60 :               switch (TREE_CODE (_p1))
    8852              :                 {
    8853           60 :                 case REAL_CST:
    8854           60 :                   {
    8855           60 :                     {
    8856           60 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8857           60 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, MINUS_EXPR, EQ_EXPR);
    8858           60 :                       if (res) return res;
    8859              :                     }
    8860           60 :                     break;
    8861              :                   }
    8862              :                 default:;
    8863              :                 }
    8864              :               break;
    8865              :             }
    8866        96490 :           default:;
    8867              :           }
    8868        96490 :         switch (TREE_CODE (_q20))
    8869              :           {
    8870          273 :           case REAL_CST:
    8871          273 :             {
    8872          273 :               switch (TREE_CODE (_p1))
    8873              :                 {
    8874          245 :                 case REAL_CST:
    8875          245 :                   {
    8876          245 :                     {
    8877          245 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8878          245 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8879          245 :                       if (res) return res;
    8880              :                     }
    8881          244 :                     break;
    8882              :                   }
    8883              :                 default:;
    8884              :                 }
    8885              :               break;
    8886              :             }
    8887              :           default:;
    8888              :           }
    8889              :         break;
    8890              :       }
    8891         2632 :     case FLOAT_EXPR:
    8892         2632 :       {
    8893         2632 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8894         2632 :         switch (TREE_CODE (_p1))
    8895              :           {
    8896            1 :           case FLOAT_EXPR:
    8897            1 :             {
    8898            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8899            1 :               {
    8900            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8901            1 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8902            1 :                 if (res) return res;
    8903              :               }
    8904            0 :               break;
    8905              :             }
    8906          180 :           case REAL_CST:
    8907          180 :             {
    8908          180 :               {
    8909          180 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8910          180 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8911          180 :                 if (res) return res;
    8912              :               }
    8913          149 :               break;
    8914              :             }
    8915              :           default:;
    8916              :           }
    8917              :         break;
    8918              :       }
    8919         6719 :     case EXACT_DIV_EXPR:
    8920         6719 :       {
    8921         6719 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8922         6719 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8923         6719 :         switch (TREE_CODE (_p1))
    8924              :           {
    8925           33 :           case INTEGER_CST:
    8926           33 :             {
    8927           33 :               {
    8928           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8929           33 :                 tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8930           33 :                 if (res) return res;
    8931              :               }
    8932            0 :               break;
    8933              :             }
    8934              :           default:;
    8935              :           }
    8936              :         break;
    8937              :       }
    8938         1029 :     case NEGATE_EXPR:
    8939         1029 :       {
    8940         1029 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8941         1029 :         switch (TREE_CODE (_p1))
    8942              :           {
    8943            1 :           case NEGATE_EXPR:
    8944            1 :             {
    8945            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8946            1 :               {
    8947            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8948            1 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8949            1 :                 if (res) return res;
    8950              :               }
    8951            0 :               break;
    8952              :             }
    8953         1028 :           default:;
    8954              :           }
    8955         1028 :       if (CONSTANT_CLASS_P (_p1))
    8956              :         {
    8957          210 :           {
    8958          210 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8959          210 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8960          210 :             if (res) return res;
    8961              :           }
    8962              :         }
    8963              :         break;
    8964              :       }
    8965         1372 :     case ABS_EXPR:
    8966         1372 :       {
    8967         1372 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8968         1372 :         if (zerop (_p1))
    8969              :           {
    8970           66 :             {
    8971           66 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8972           66 :               const enum tree_code eqne = EQ_EXPR;
    8973           66 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1509;
    8974           66 :               {
    8975           66 :                 tree res_op0;
    8976           66 :                 res_op0 = captures[0];
    8977           66 :                 tree res_op1;
    8978           66 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    8979           66 :                 tree _r;
    8980           66 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    8981           66 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    8982            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    8983           66 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    8984           66 :                 return _r;
    8985              :               }
    8986            0 : next_after_fail1509:;
    8987              :             }
    8988              :           }
    8989              :         break;
    8990              :       }
    8991            1 :     case ABSU_EXPR:
    8992            1 :       {
    8993            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8994            1 :         if (zerop (_p1))
    8995              :           {
    8996            0 :             {
    8997            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8998            0 :               const enum tree_code eqne = EQ_EXPR;
    8999            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1510;
    9000            0 :               {
    9001            0 :                 tree res_op0;
    9002            0 :                 res_op0 = captures[0];
    9003            0 :                 tree res_op1;
    9004            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9005            0 :                 tree _r;
    9006            0 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9007            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9008            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9009            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    9010            0 :                 return _r;
    9011              :               }
    9012            0 : next_after_fail1510:;
    9013              :             }
    9014              :           }
    9015              :         break;
    9016              :       }
    9017      4841377 :     CASE_CONVERT:
    9018      4841377 :       {
    9019      4841377 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9020      4841377 :         switch (TREE_CODE (_p1))
    9021              :           {
    9022      1184447 :           CASE_CONVERT:
    9023      1184447 :             {
    9024      1184447 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9025      1184447 :               {
    9026      1184447 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9027      1184447 :                 tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9028      1184447 :                 if (res) return res;
    9029              :               }
    9030       551704 :               break;
    9031              :             }
    9032      4208634 :           default:;
    9033              :           }
    9034      4208634 :         {
    9035      4208634 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9036      4208634 :           tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9037      4208634 :           if (res) return res;
    9038              :         }
    9039      2134688 :         switch (TREE_CODE (_q20))
    9040              :           {
    9041            3 :           case BIT_IOR_EXPR:
    9042            3 :             {
    9043            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9044            3 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9045            3 :               switch (TREE_CODE (_q31))
    9046              :                 {
    9047            0 :                 case INTEGER_CST:
    9048            0 :                   {
    9049            0 :                     switch (TREE_CODE (_p1))
    9050              :                       {
    9051            0 :                       case INTEGER_CST:
    9052            0 :                         {
    9053            0 :                           {
    9054            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9055            0 :                             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9056            0 :                             if (res) return res;
    9057              :                           }
    9058            0 :                           break;
    9059              :                         }
    9060              :                       default:;
    9061              :                       }
    9062              :                     break;
    9063              :                   }
    9064              :                 default:;
    9065              :                 }
    9066              :               break;
    9067              :             }
    9068              :           default:;
    9069              :           }
    9070              :         break;
    9071              :       }
    9072      8859118 :     case SSA_NAME:
    9073      8859118 :       {
    9074      8859118 :         switch (TREE_CODE (_p1))
    9075              :           {
    9076       799935 :           case ADDR_EXPR:
    9077       799935 :             {
    9078       799935 :               {
    9079       799935 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9080       799935 :                 tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9081       799935 :                 if (res) return res;
    9082              :               }
    9083       799935 :               break;
    9084              :             }
    9085              :           default:;
    9086              :           }
    9087              :         break;
    9088              :       }
    9089        33696 :     case BIT_IOR_EXPR:
    9090        33696 :       {
    9091        33696 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9092        33696 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9093        33696 :         switch (TREE_CODE (_q21))
    9094              :           {
    9095         1507 :           case INTEGER_CST:
    9096         1507 :             {
    9097         1507 :               switch (TREE_CODE (_p1))
    9098              :                 {
    9099          464 :                 case INTEGER_CST:
    9100          464 :                   {
    9101          464 :                     {
    9102          464 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9103          464 :                       tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9104          464 :                       if (res) return res;
    9105              :                     }
    9106          464 :                     break;
    9107              :                   }
    9108              :                 default:;
    9109              :                 }
    9110              :               break;
    9111              :             }
    9112              :           default:;
    9113              :           }
    9114              :         break;
    9115              :       }
    9116          577 :     case BIT_XOR_EXPR:
    9117          577 :       {
    9118          577 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9119          577 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9120          577 :         if (integer_zerop (_p1))
    9121              :           {
    9122          163 :             {
    9123          163 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9124          163 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9125          163 :               if (res) return res;
    9126              :             }
    9127              :           }
    9128          414 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9129              :           {
    9130           29 :             {
    9131           29 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9132           29 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9133           29 :               if (res) return res;
    9134              :             }
    9135              :           }
    9136          385 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9137              :           {
    9138           30 :             {
    9139           30 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9140           30 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9141           30 :               if (res) return res;
    9142              :             }
    9143              :           }
    9144              :         break;
    9145              :       }
    9146      1936664 :     case CALL_EXPR:
    9147      1936664 :       switch (get_call_combined_fn (_p0))
    9148              :         {
    9149            3 :         case CFN_BUILT_IN_SQRTF:
    9150            3 :           if (call_expr_nargs (_p0) == 1)
    9151              :     {
    9152            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9153            3 :               switch (TREE_CODE (_p1))
    9154              :                 {
    9155            0 :                 case REAL_CST:
    9156            0 :                   {
    9157            0 :                     {
    9158            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9159            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
    9160            0 :                       if (res) return res;
    9161              :                     }
    9162            0 :                     break;
    9163              :                   }
    9164            3 :                 case CALL_EXPR:
    9165            3 :                   switch (get_call_combined_fn (_p1))
    9166              :                     {
    9167            3 :                     case CFN_BUILT_IN_SQRTF:
    9168            3 :                       if (call_expr_nargs (_p1) == 1)
    9169              :     {
    9170            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9171            3 :                           {
    9172            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9173            3 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
    9174            3 :                             if (res) return res;
    9175              :                           }
    9176              :                         }
    9177              :                       break;
    9178              :                     default:;
    9179              :                     }
    9180              :                   break;
    9181              :                 default:;
    9182              :                 }
    9183              :             }
    9184              :           break;
    9185            3 :         case CFN_BUILT_IN_SQRTL:
    9186            3 :           if (call_expr_nargs (_p0) == 1)
    9187              :     {
    9188            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9189            3 :               switch (TREE_CODE (_p1))
    9190              :                 {
    9191            0 :                 case REAL_CST:
    9192            0 :                   {
    9193            0 :                     {
    9194            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9195            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
    9196            0 :                       if (res) return res;
    9197              :                     }
    9198            0 :                     break;
    9199              :                   }
    9200            3 :                 case CALL_EXPR:
    9201            3 :                   switch (get_call_combined_fn (_p1))
    9202              :                     {
    9203            3 :                     case CFN_BUILT_IN_SQRTL:
    9204            3 :                       if (call_expr_nargs (_p1) == 1)
    9205              :     {
    9206            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9207            3 :                           {
    9208            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9209            3 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
    9210            3 :                             if (res) return res;
    9211              :                           }
    9212              :                         }
    9213              :                       break;
    9214              :                     default:;
    9215              :                     }
    9216              :                   break;
    9217              :                 default:;
    9218              :                 }
    9219              :             }
    9220              :           break;
    9221            0 :         case CFN_BUILT_IN_SQRT:
    9222            0 :           if (call_expr_nargs (_p0) == 1)
    9223              :     {
    9224            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9225            0 :               switch (TREE_CODE (_p1))
    9226              :                 {
    9227            0 :                 case REAL_CST:
    9228            0 :                   {
    9229            0 :                     {
    9230            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9231            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
    9232            0 :                       if (res) return res;
    9233              :                     }
    9234            0 :                     break;
    9235              :                   }
    9236            0 :                 case CALL_EXPR:
    9237            0 :                   switch (get_call_combined_fn (_p1))
    9238              :                     {
    9239            0 :                     case CFN_BUILT_IN_SQRT:
    9240            0 :                       if (call_expr_nargs (_p1) == 1)
    9241              :     {
    9242            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9243            0 :                           {
    9244            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9245            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
    9246            0 :                             if (res) return res;
    9247              :                           }
    9248              :                         }
    9249              :                       break;
    9250              :                     default:;
    9251              :                     }
    9252              :                   break;
    9253              :                 default:;
    9254              :                 }
    9255              :             }
    9256              :           break;
    9257            0 :         case CFN_SQRT:
    9258            0 :           if (call_expr_nargs (_p0) == 1)
    9259              :     {
    9260            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9261            0 :               switch (TREE_CODE (_p1))
    9262              :                 {
    9263            0 :                 case REAL_CST:
    9264            0 :                   {
    9265            0 :                     {
    9266            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9267            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
    9268            0 :                       if (res) return res;
    9269              :                     }
    9270            0 :                     break;
    9271              :                   }
    9272            0 :                 case CALL_EXPR:
    9273            0 :                   switch (get_call_combined_fn (_p1))
    9274              :                     {
    9275            0 :                     case CFN_SQRT:
    9276            0 :                       if (call_expr_nargs (_p1) == 1)
    9277              :     {
    9278            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9279            0 :                           {
    9280            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9281            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
    9282            0 :                             if (res) return res;
    9283              :                           }
    9284              :                         }
    9285              :                       break;
    9286              :                     default:;
    9287              :                     }
    9288              :                   break;
    9289              :                 default:;
    9290              :                 }
    9291              :             }
    9292              :           break;
    9293              :         default:;
    9294              :         }
    9295              :       break;
    9296     23801318 :     default:;
    9297              :     }
    9298     23801318 :   switch (TREE_CODE (_p1))
    9299              :     {
    9300           22 :     case BIT_XOR_EXPR:
    9301           22 :       {
    9302           22 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9303           22 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9304           22 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9305              :           {
    9306            0 :             {
    9307            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9308            0 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9309            0 :               if (res) return res;
    9310              :             }
    9311              :           }
    9312           22 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9313              :           {
    9314            0 :             {
    9315            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9316            0 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9317            0 :               if (res) return res;
    9318              :             }
    9319              :           }
    9320              :         break;
    9321              :       }
    9322     23801318 :     default:;
    9323              :     }
    9324     23801318 :   switch (TREE_CODE (_p0))
    9325              :     {
    9326       825575 :     case BIT_AND_EXPR:
    9327       825575 :       {
    9328       825575 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9329       825575 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9330       825575 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9331              :           {
    9332          131 :             {
    9333          131 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9334          131 :               tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9335          131 :               if (res) return res;
    9336              :             }
    9337              :           }
    9338       825574 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9339              :           {
    9340       141241 :             {
    9341       141241 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9342       141241 :               tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9343       141241 :               if (res) return res;
    9344              :             }
    9345              :           }
    9346              :         break;
    9347              :       }
    9348     23801317 :     default:;
    9349              :     }
    9350     23801317 :   switch (TREE_CODE (_p1))
    9351              :     {
    9352        24609 :     case BIT_AND_EXPR:
    9353        24609 :       {
    9354        24609 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9355        24609 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9356        24609 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9357              :           {
    9358            0 :             {
    9359            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9360            0 :               tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9361            0 :               if (res) return res;
    9362              :             }
    9363              :           }
    9364        24609 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9365              :           {
    9366            0 :             {
    9367            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9368            0 :               tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9369            0 :               if (res) return res;
    9370              :             }
    9371              :           }
    9372              :         break;
    9373              :       }
    9374     23801317 :     default:;
    9375              :     }
    9376     23801317 :   switch (TREE_CODE (_p0))
    9377              :     {
    9378      2134688 :     CASE_CONVERT:
    9379      2134688 :       {
    9380      2134688 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9381      2134688 :         switch (TREE_CODE (_q20))
    9382              :           {
    9383            2 :           case BIT_AND_EXPR:
    9384            2 :             {
    9385            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9386            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9387            2 :               switch (TREE_CODE (_q30))
    9388              :                 {
    9389            0 :                 CASE_CONVERT:
    9390            0 :                   {
    9391            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9392            0 :                     switch (TREE_CODE (_q31))
    9393              :                       {
    9394            0 :                       case INTEGER_CST:
    9395            0 :                         {
    9396            0 :                           switch (TREE_CODE (_p1))
    9397              :                             {
    9398            0 :                             CASE_CONVERT:
    9399            0 :                               {
    9400            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    9401            0 :                                 if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    9402              :                                   {
    9403            0 :                                     {
    9404            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
    9405            0 :                                       tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9406            0 :                                       if (res) return res;
    9407              :                                     }
    9408              :                                   }
    9409              :                                 break;
    9410              :                               }
    9411              :                             default:;
    9412              :                             }
    9413              :                           break;
    9414              :                         }
    9415              :                       default:;
    9416              :                       }
    9417              :                     break;
    9418              :                   }
    9419              :                 default:;
    9420              :                 }
    9421              :               break;
    9422              :             }
    9423      2134688 :           default:;
    9424              :           }
    9425      2134688 :         switch (TREE_CODE (_p1))
    9426              :           {
    9427       551704 :           CASE_CONVERT:
    9428       551704 :             {
    9429       551704 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9430       551704 :               switch (TREE_CODE (_q40))
    9431              :                 {
    9432            7 :                 case BIT_AND_EXPR:
    9433            7 :                   {
    9434            7 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9435            7 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9436            7 :                     switch (TREE_CODE (_q50))
    9437              :                       {
    9438            7 :                       CASE_CONVERT:
    9439            7 :                         {
    9440            7 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    9441            7 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9442              :                             {
    9443            0 :                               switch (TREE_CODE (_q51))
    9444              :                                 {
    9445            0 :                                 case INTEGER_CST:
    9446            0 :                                   {
    9447            0 :                                     {
    9448            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
    9449            0 :                                       tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9450            0 :                                       if (res) return res;
    9451              :                                     }
    9452            0 :                                     break;
    9453              :                                   }
    9454              :                                 default:;
    9455              :                                 }
    9456              :                             }
    9457              :                           break;
    9458              :                         }
    9459              :                       default:;
    9460              :                       }
    9461              :                     break;
    9462              :                   }
    9463              :                 default:;
    9464              :                 }
    9465              :               break;
    9466              :             }
    9467              :           default:;
    9468              :           }
    9469              :         break;
    9470              :       }
    9471        33696 :     case BIT_IOR_EXPR:
    9472        33696 :       {
    9473        33696 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9474        33696 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9475        33696 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9476              :           {
    9477           24 :             {
    9478           24 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9479           24 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9480           24 :               if (res) return res;
    9481              :             }
    9482              :           }
    9483        33696 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9484              :           {
    9485           46 :             {
    9486           46 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9487           46 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9488           46 :               if (res) return res;
    9489              :             }
    9490              :           }
    9491              :         break;
    9492              :       }
    9493     23801317 :     default:;
    9494              :     }
    9495     23801317 :   switch (TREE_CODE (_p1))
    9496              :     {
    9497          618 :     case BIT_IOR_EXPR:
    9498          618 :       {
    9499          618 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9500          618 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9501          618 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9502              :           {
    9503            0 :             {
    9504            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    9505            0 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9506            0 :               if (res) return res;
    9507              :             }
    9508              :           }
    9509          618 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9510              :           {
    9511            0 :             {
    9512            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    9513            0 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9514            0 :               if (res) return res;
    9515              :             }
    9516              :           }
    9517              :         break;
    9518              :       }
    9519     23801317 :     default:;
    9520              :     }
    9521     23801317 :   switch (TREE_CODE (_p0))
    9522              :     {
    9523      2134688 :     CASE_CONVERT:
    9524      2134688 :       {
    9525      2134688 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9526      2134688 :         switch (TREE_CODE (_q20))
    9527              :           {
    9528          980 :           case BIT_XOR_EXPR:
    9529          980 :             {
    9530          980 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9531          980 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9532          980 :               switch (TREE_CODE (_q31))
    9533              :                 {
    9534            7 :                 case INTEGER_CST:
    9535            7 :                   {
    9536            7 :                     switch (TREE_CODE (_p1))
    9537              :                       {
    9538            0 :                       case INTEGER_CST:
    9539            0 :                         {
    9540            0 :                           {
    9541            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9542            0 :                             tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9543            0 :                             if (res) return res;
    9544              :                           }
    9545            0 :                           break;
    9546              :                         }
    9547              :                       default:;
    9548              :                       }
    9549              :                     break;
    9550              :                   }
    9551              :                 default:;
    9552              :                 }
    9553              :               break;
    9554              :             }
    9555              :           default:;
    9556              :           }
    9557              :         break;
    9558              :       }
    9559          355 :     case BIT_XOR_EXPR:
    9560          355 :       {
    9561          355 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9562          355 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9563          355 :         switch (TREE_CODE (_q21))
    9564              :           {
    9565          103 :           case INTEGER_CST:
    9566          103 :             {
    9567          103 :               switch (TREE_CODE (_p1))
    9568              :                 {
    9569           16 :                 case INTEGER_CST:
    9570           16 :                   {
    9571           16 :                     {
    9572           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9573           16 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9574           16 :                       if (res) return res;
    9575              :                     }
    9576            0 :                     break;
    9577              :                   }
    9578              :                 default:;
    9579              :                 }
    9580              :               break;
    9581              :             }
    9582              :           default:;
    9583              :           }
    9584              :         break;
    9585              :       }
    9586     23801301 :     default:;
    9587              :     }
    9588     23801301 : {
    9589     23801301 :   tree _p0_pops[1];
    9590     23801301 :   if (tree_nop_convert (_p0, _p0_pops))
    9591              :     {
    9592      1781755 :       tree _q20 = _p0_pops[0];
    9593      1781755 :       if (integer_zerop (_p1))
    9594              :         {
    9595       670573 :           {
    9596       670573 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9597       670573 :             tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9598       670573 :             if (res) return res;
    9599              :           }
    9600              :         }
    9601              :     }
    9602              : }
    9603     23274372 :   if (integer_zerop (_p1))
    9604              :     {
    9605      9604238 :       {
    9606      9604238 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9607      9604238 :         tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9608      9604238 :         if (res) return res;
    9609              :       }
    9610              :     }
    9611     23200272 :   switch (TREE_CODE (_p0))
    9612              :     {
    9613       825574 :     case BIT_AND_EXPR:
    9614       825574 :       {
    9615       825574 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9616       825574 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9617       825574 :         switch (TREE_CODE (_p1))
    9618              :           {
    9619        24331 :           case BIT_AND_EXPR:
    9620        24331 :             {
    9621        24331 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9622        24331 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9623        24331 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9624              :                 {
    9625        23806 :                   {
    9626        23806 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9627        23806 :                     tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9628        23806 :                     if (res) return res;
    9629              :                   }
    9630              :                 }
    9631          525 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9632              :                 {
    9633           28 :                   {
    9634           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9635           28 :                     tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9636           28 :                     if (res) return res;
    9637              :                   }
    9638              :                 }
    9639          497 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9640              :                 {
    9641           28 :                   {
    9642           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    9643           28 :                     tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9644           28 :                     if (res) return res;
    9645              :                   }
    9646              :                 }
    9647          469 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9648              :                 {
    9649           28 :                   {
    9650           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    9651           28 :                     tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9652           28 :                     if (res) return res;
    9653              :                   }
    9654              :                 }
    9655              :               break;
    9656              :             }
    9657       801684 :           default:;
    9658              :           }
    9659       801684 :         if (integer_pow2p (_q21))
    9660              :           {
    9661       279654 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9662              :               {
    9663       108475 :                 {
    9664       108475 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9665       108475 :                   tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    9666       108475 :                   if (res) return res;
    9667              :                 }
    9668              :               }
    9669              :           }
    9670       693229 :         switch (TREE_CODE (_q20))
    9671              :           {
    9672        46515 :           CASE_CONVERT:
    9673        46515 :             {
    9674        46515 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9675        46515 :               if (integer_pow2p (_q21))
    9676              :                 {
    9677         9446 :                   if (integer_zerop (_p1))
    9678              :                     {
    9679         9444 :                       {
    9680         9444 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
    9681         9444 :                         tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    9682         9444 :                         if (res) return res;
    9683              :                       }
    9684              :                     }
    9685              :                 }
    9686              :               break;
    9687              :             }
    9688       692272 :           default:;
    9689              :           }
    9690       692272 :         if (integer_pow2p (_q21))
    9691              :           {
    9692       170242 :             if (integer_zerop (_p1))
    9693              :               {
    9694       170101 :                 {
    9695       170101 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
    9696       170101 :                   tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    9697       170101 :                   if (res) return res;
    9698              :                 }
    9699              :               }
    9700              :           }
    9701              :         break;
    9702              :       }
    9703         1211 :     case GE_EXPR:
    9704         1211 :       {
    9705         1211 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9706         1211 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9707         1211 :         if (integer_zerop (_q21))
    9708              :           {
    9709           98 :             switch (TREE_CODE (_p1))
    9710              :               {
    9711            5 :               case GE_EXPR:
    9712            5 :                 {
    9713            5 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9714            5 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9715            5 :                   if (integer_zerop (_q51))
    9716              :                     {
    9717            5 :                       {
    9718            5 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9719            5 :                         tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, GE_EXPR);
    9720            5 :                         if (res) return res;
    9721              :                       }
    9722              :                     }
    9723              :                   break;
    9724              :                 }
    9725            1 :               case LT_EXPR:
    9726            1 :                 {
    9727            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9728            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9729            1 :                   if (integer_zerop (_q51))
    9730              :                     {
    9731            1 :                       {
    9732            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    9733            1 :                         tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    9734            1 :                         if (res) return res;
    9735              :                       }
    9736              :                     }
    9737              :                   break;
    9738              :                 }
    9739              :               default:;
    9740              :               }
    9741              :           }
    9742              :         break;
    9743              :       }
    9744          837 :     case LT_EXPR:
    9745          837 :       {
    9746          837 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9747          837 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9748          837 :         if (integer_zerop (_q21))
    9749              :           {
    9750          140 :             switch (TREE_CODE (_p1))
    9751              :               {
    9752           11 :               case LT_EXPR:
    9753           11 :                 {
    9754           11 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9755           11 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9756           11 :                   if (integer_zerop (_q51))
    9757              :                     {
    9758            9 :                       {
    9759            9 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9760            9 :                         tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GE_EXPR);
    9761            9 :                         if (res) return res;
    9762              :                       }
    9763              :                     }
    9764              :                   break;
    9765              :                 }
    9766            1 :               case GE_EXPR:
    9767            1 :                 {
    9768            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9769            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9770            1 :                   if (integer_zerop (_q51))
    9771              :                     {
    9772            1 :                       {
    9773            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9774            1 :                         tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    9775            1 :                         if (res) return res;
    9776              :                       }
    9777              :                     }
    9778              :                   break;
    9779              :                 }
    9780              :               default:;
    9781              :               }
    9782              :           }
    9783              :         break;
    9784              :       }
    9785        33696 :     case BIT_IOR_EXPR:
    9786        33696 :       {
    9787        33696 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9788        33696 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9789        33696 :         switch (TREE_CODE (_q21))
    9790              :           {
    9791          658 :           CASE_CONVERT:
    9792          658 :             {
    9793          658 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9794          658 :               switch (TREE_CODE (_q40))
    9795              :                 {
    9796            0 :                 case NE_EXPR:
    9797            0 :                   {
    9798            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9799            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9800            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9801              :                       {
    9802            0 :                         if (integer_zerop (_q51))
    9803              :                           {
    9804            0 :                             if (integer_zerop (_p1))
    9805              :                               {
    9806            0 :                                 {
    9807            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9808            0 :                                   tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9809            0 :                                   if (res) return res;
    9810              :                                 }
    9811              :                               }
    9812              :                           }
    9813              :                       }
    9814              :                     break;
    9815              :                   }
    9816              :                 default:;
    9817              :                 }
    9818              :               break;
    9819              :             }
    9820        33696 :           default:;
    9821              :           }
    9822        33696 :         switch (TREE_CODE (_q20))
    9823              :           {
    9824          643 :           CASE_CONVERT:
    9825          643 :             {
    9826          643 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9827          643 :               switch (TREE_CODE (_q30))
    9828              :                 {
    9829            0 :                 case NE_EXPR:
    9830            0 :                   {
    9831            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9832            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    9833            0 :                     if (integer_zerop (_q41))
    9834              :                       {
    9835            0 :                         if ((_q21 == _q40 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q40, 0) && types_match (_q21, _q40)))
    9836              :                           {
    9837            0 :                             if (integer_zerop (_p1))
    9838              :                               {
    9839            0 :                                 {
    9840            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    9841            0 :                                   tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9842            0 :                                   if (res) return res;
    9843              :                                 }
    9844              :                               }
    9845              :                           }
    9846              :                       }
    9847              :                     break;
    9848              :                   }
    9849              :                 default:;
    9850              :                 }
    9851              :               break;
    9852              :             }
    9853        33696 :           default:;
    9854              :           }
    9855        33696 :         switch (TREE_CODE (_q21))
    9856              :           {
    9857            1 :           case NE_EXPR:
    9858            1 :             {
    9859            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9860            1 :               tree _q41 = TREE_OPERAND (_q21, 1);
    9861            1 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    9862              :                 {
    9863            0 :                   if (integer_zerop (_q41))
    9864              :                     {
    9865            0 :                       if (integer_zerop (_p1))
    9866              :                         {
    9867            0 :                           {
    9868            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9869            0 :                             tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9870            0 :                             if (res) return res;
    9871              :                           }
    9872              :                         }
    9873              :                     }
    9874              :                 }
    9875              :               break;
    9876              :             }
    9877        33696 :           default:;
    9878              :           }
    9879        33696 :         switch (TREE_CODE (_q20))
    9880              :           {
    9881            8 :           case NE_EXPR:
    9882            8 :             {
    9883            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9884            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9885            8 :               if (integer_zerop (_q31))
    9886              :                 {
    9887            0 :                   if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
    9888              :                     {
    9889            0 :                       if (integer_zerop (_p1))
    9890              :                         {
    9891            0 :                           {
    9892            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    9893            0 :                             tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9894            0 :                             if (res) return res;
    9895              :                           }
    9896              :                         }
    9897              :                     }
    9898              :                 }
    9899              :               break;
    9900              :             }
    9901              :           default:;
    9902              :           }
    9903              :         break;
    9904              :       }
    9905      1607756 :     CASE_CONVERT:
    9906      1607756 :       {
    9907      1607756 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9908      1607756 :         switch (TREE_CODE (_q20))
    9909              :           {
    9910       221191 :           case ADDR_EXPR:
    9911       221191 :             {
    9912       221191 :               switch (TREE_CODE (_p1))
    9913              :                 {
    9914       193081 :                 CASE_CONVERT:
    9915       193081 :                   {
    9916       193081 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9917       193081 :                     switch (TREE_CODE (_q40))
    9918              :                       {
    9919       193081 :                       case ADDR_EXPR:
    9920       193081 :                         {
    9921       193081 :                           {
    9922       193081 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    9923       193081 :                             tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9924       193081 :                             if (res) return res;
    9925              :                           }
    9926           30 :                           break;
    9927              :                         }
    9928              :                       default:;
    9929              :                       }
    9930              :                     break;
    9931              :                   }
    9932        20883 :                 case ADDR_EXPR:
    9933        20883 :                   {
    9934        20883 :                     {
    9935        20883 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9936        20883 :                       tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9937        20883 :                       if (res) return res;
    9938              :                     }
    9939         7896 :                     break;
    9940              :                   }
    9941              :                 default:;
    9942              :                 }
    9943              :               break;
    9944              :             }
    9945              :           default:;
    9946              :           }
    9947              :         break;
    9948              :       }
    9949        18467 :     case ADDR_EXPR:
    9950        18467 :       {
    9951        18467 :         switch (TREE_CODE (_p1))
    9952              :           {
    9953          119 :           CASE_CONVERT:
    9954          119 :             {
    9955          119 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9956          119 :               switch (TREE_CODE (_q30))
    9957              :                 {
    9958          119 :                 case ADDR_EXPR:
    9959          119 :                   {
    9960          119 :                     {
    9961          119 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    9962          119 :                       tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9963          119 :                       if (res) return res;
    9964              :                     }
    9965            0 :                     break;
    9966              :                   }
    9967              :                 default:;
    9968              :                 }
    9969              :               break;
    9970              :             }
    9971        15972 :           case ADDR_EXPR:
    9972        15972 :             {
    9973        15972 :               {
    9974        15972 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9975        15972 :                 tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9976        15972 :                 if (res) return res;
    9977              :               }
    9978         7100 :               break;
    9979              :             }
    9980              :           default:;
    9981              :           }
    9982              :         break;
    9983              :       }
    9984     22851633 :     default:;
    9985              :     }
    9986     22851633 :   {
    9987     22851633 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9988     22851633 :     tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9989     22851633 :     if (res) return res;
    9990              :   }
    9991     22848502 :   switch (TREE_CODE (_p0))
    9992              :     {
    9993      1401718 :     CASE_CONVERT:
    9994      1401718 :       {
    9995      1401718 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9996      1401718 :         switch (TREE_CODE (_p1))
    9997              :           {
    9998       251568 :           case INTEGER_CST:
    9999       251568 :             {
   10000       251568 :               {
   10001       251568 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10002       251568 :                 tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10003       251568 :                 if (res) return res;
   10004              :               }
   10005       250197 :               break;
   10006              :             }
   10007      1400347 :           default:;
   10008              :           }
   10009      1400347 :         switch (TREE_CODE (_q20))
   10010              :           {
   10011            0 :           case NE_EXPR:
   10012            0 :             {
   10013            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10014            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10015            0 :               switch (TREE_CODE (_q31))
   10016              :                 {
   10017            0 :                 case INTEGER_CST:
   10018            0 :                   {
   10019            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10020              :                       {
   10021            0 :                         {
   10022            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10023            0 :                           tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   10024            0 :                           if (res) return res;
   10025              :                         }
   10026              :                       }
   10027              :                     break;
   10028              :                   }
   10029              :                 default:;
   10030              :                 }
   10031              :               break;
   10032              :             }
   10033            0 :           case EQ_EXPR:
   10034            0 :             {
   10035            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10036            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10037            0 :               switch (TREE_CODE (_q31))
   10038              :                 {
   10039            0 :                 case INTEGER_CST:
   10040            0 :                   {
   10041            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10042              :                       {
   10043            0 :                         {
   10044            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10045            0 :                           tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10046            0 :                           if (res) return res;
   10047              :                         }
   10048              :                       }
   10049              :                     break;
   10050              :                   }
   10051              :                 default:;
   10052              :                 }
   10053              :               break;
   10054              :             }
   10055              :           default:;
   10056              :           }
   10057              :         break;
   10058              :       }
   10059     22847131 :     default:;
   10060              :     }
   10061     22847131 :   switch (TREE_CODE (_p1))
   10062              :     {
   10063       646962 :     CASE_CONVERT:
   10064       646962 :       {
   10065       646962 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10066       646962 :         switch (TREE_CODE (_q30))
   10067              :           {
   10068            0 :           case NE_EXPR:
   10069            0 :             {
   10070            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10071            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10072            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10073              :                 {
   10074            0 :                   switch (TREE_CODE (_q41))
   10075              :                     {
   10076            0 :                     case INTEGER_CST:
   10077            0 :                       {
   10078            0 :                         {
   10079            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10080            0 :                           tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   10081            0 :                           if (res) return res;
   10082              :                         }
   10083            0 :                         break;
   10084              :                       }
   10085              :                     default:;
   10086              :                     }
   10087              :                 }
   10088              :               break;
   10089              :             }
   10090            0 :           case EQ_EXPR:
   10091            0 :             {
   10092            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10093            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10094            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10095              :                 {
   10096            0 :                   switch (TREE_CODE (_q41))
   10097              :                     {
   10098            0 :                     case INTEGER_CST:
   10099            0 :                       {
   10100            0 :                         {
   10101            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10102            0 :                           tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10103            0 :                           if (res) return res;
   10104              :                         }
   10105            0 :                         break;
   10106              :                       }
   10107              :                     default:;
   10108              :                     }
   10109              :                 }
   10110              :               break;
   10111              :             }
   10112              :           default:;
   10113              :           }
   10114              :         break;
   10115              :       }
   10116     22847131 :     default:;
   10117              :     }
   10118     22847131 : if (integer_onep (_p1))
   10119              :   {
   10120      1735280 :     {
   10121      1735280 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10122      1735280 :       if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
   10123      1735280 :  && types_match (type, TREE_TYPE (captures[0]))
   10124              : )
   10125              :         {
   10126       113958 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1511;
   10127       113958 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1511;
   10128       113958 :           {
   10129       113958 :             tree res_op0;
   10130       113958 :             res_op0 = captures[0];
   10131       113958 :             tree _r;
   10132       113958 :             _r = non_lvalue_loc (loc, res_op0);
   10133       113958 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
   10134       113958 :             return _r;
   10135              :           }
   10136              : next_after_fail1511:;
   10137              :         }
   10138              :     }
   10139              :   }
   10140     22733173 :   switch (TREE_CODE (_p0))
   10141              :     {
   10142       691980 :     case BIT_AND_EXPR:
   10143       691980 :       {
   10144       691980 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10145       691980 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10146       691980 :         switch (TREE_CODE (_q21))
   10147              :           {
   10148          420 :           case VECTOR_CST:
   10149          420 :             {
   10150          420 :               if (integer_zerop (_p1))
   10151              :                 {
   10152          393 :                   {
   10153          393 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10154          393 :                     const enum tree_code cmp = EQ_EXPR;
   10155          393 :                     const enum tree_code icmp = LE_EXPR;
   10156          393 :                     {
   10157          393 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10158          393 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10159              : )
   10160              :                           {
   10161            2 :                             {
   10162            2 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10163            2 :  ? optab_vector : optab_default;
   10164            2 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10165            2 :                                 if (target_supports_op_p (utype, icmp, optab)
   10166            2 :  || (optimize_vectors_before_lowering_p ()
   10167            2 :  && (!target_supports_op_p (type, cmp, optab)
   10168            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10169              : )
   10170              :                                   {
   10171            2 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10172              : )
   10173              :                                       {
   10174            2 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1512;
   10175            2 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1512;
   10176            2 :                                         {
   10177            2 :                                           tree res_op0;
   10178            2 :                                           res_op0 = captures[1];
   10179            2 :                                           tree res_op1;
   10180            2 :                                           res_op1 =  csts;
   10181            2 :                                           tree _r;
   10182            2 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10183            2 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10184            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10185            2 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
   10186            2 :                                           return _r;
   10187              :                                         }
   10188          391 : next_after_fail1512:;
   10189              :                                       }
   10190              :                                     else
   10191              :                                       {
   10192            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1513;
   10193            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1513;
   10194            0 :                                         {
   10195            0 :                                           tree res_op0;
   10196            0 :                                           {
   10197            0 :                                             tree _o1[1], _r1;
   10198            0 :                                             _o1[0] = captures[1];
   10199            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10200              :                                               {
   10201            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10202              :                                               }
   10203              :                                             else
   10204              :                                               _r1 = _o1[0];
   10205            0 :                                             res_op0 = _r1;
   10206              :                                           }
   10207            0 :                                           tree res_op1;
   10208            0 :                                           res_op1 =  csts;
   10209            0 :                                           tree _r;
   10210            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10211            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10212            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10213            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   10214            0 :                                           return _r;
   10215              :                                         }
   10216          391 : next_after_fail1513:;
   10217              :                                       }
   10218              :                                   }
   10219              :                             }
   10220              :                           }
   10221              :                     }
   10222              :                   }
   10223              :                 }
   10224              :               break;
   10225              :             }
   10226       630784 :           case INTEGER_CST:
   10227       630784 :             {
   10228       630784 :               if (integer_zerop (_p1))
   10229              :                 {
   10230       521956 :                   {
   10231       521956 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10232       521956 :                     const enum tree_code cmp = EQ_EXPR;
   10233       521956 :                     const enum tree_code icmp = LE_EXPR;
   10234       521956 :                     {
   10235       521956 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10236       521956 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10237              : )
   10238              :                           {
   10239         1046 :                             {
   10240         1046 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10241         1046 :  ? optab_vector : optab_default;
   10242         1046 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10243         1046 :                                 if (target_supports_op_p (utype, icmp, optab)
   10244         1046 :  || (optimize_vectors_before_lowering_p ()
   10245          902 :  && (!target_supports_op_p (type, cmp, optab)
   10246            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10247              : )
   10248              :                                   {
   10249          902 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10250              : )
   10251              :                                       {
   10252          613 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1514;
   10253          613 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1514;
   10254          613 :                                         {
   10255          613 :                                           tree res_op0;
   10256          613 :                                           res_op0 = captures[1];
   10257          613 :                                           tree res_op1;
   10258          613 :                                           res_op1 =  csts;
   10259          613 :                                           tree _r;
   10260          613 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10261          613 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10262            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10263          613 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
   10264          613 :                                           return _r;
   10265              :                                         }
   10266       521054 : next_after_fail1514:;
   10267              :                                       }
   10268              :                                     else
   10269              :                                       {
   10270          289 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1515;
   10271          289 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1515;
   10272          289 :                                         {
   10273          289 :                                           tree res_op0;
   10274          289 :                                           {
   10275          289 :                                             tree _o1[1], _r1;
   10276          289 :                                             _o1[0] = captures[1];
   10277          289 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10278              :                                               {
   10279          289 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10280              :                                               }
   10281              :                                             else
   10282              :                                               _r1 = _o1[0];
   10283          289 :                                             res_op0 = _r1;
   10284              :                                           }
   10285          289 :                                           tree res_op1;
   10286          289 :                                           res_op1 =  csts;
   10287          289 :                                           tree _r;
   10288          289 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10289          289 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10290            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10291          289 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   10292          289 :                                           return _r;
   10293              :                                         }
   10294       521054 : next_after_fail1515:;
   10295              :                                       }
   10296              :                                   }
   10297              :                             }
   10298              :                           }
   10299              :                     }
   10300              :                   }
   10301              :                 }
   10302              :               break;
   10303              :             }
   10304       691076 :           default:;
   10305              :           }
   10306       691076 :         switch (TREE_CODE (_q20))
   10307              :           {
   10308            0 :           case VECTOR_CST:
   10309            0 :             {
   10310            0 :               if (integer_zerop (_p1))
   10311              :                 {
   10312            0 :                   {
   10313            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10314            0 :                     const enum tree_code cmp = EQ_EXPR;
   10315            0 :                     const enum tree_code icmp = LE_EXPR;
   10316            0 :                     {
   10317            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10318            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10319              : )
   10320              :                           {
   10321            0 :                             {
   10322            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10323            0 :  ? optab_vector : optab_default;
   10324            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10325            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10326            0 :  || (optimize_vectors_before_lowering_p ()
   10327            0 :  && (!target_supports_op_p (type, cmp, optab)
   10328            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10329              : )
   10330              :                                   {
   10331            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10332              : )
   10333              :                                       {
   10334            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1516;
   10335            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1516;
   10336            0 :                                         {
   10337            0 :                                           tree res_op0;
   10338            0 :                                           res_op0 = captures[1];
   10339            0 :                                           tree res_op1;
   10340            0 :                                           res_op1 =  csts;
   10341            0 :                                           tree _r;
   10342            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10343            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10344            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10345            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
   10346            0 :                                           return _r;
   10347              :                                         }
   10348            0 : next_after_fail1516:;
   10349              :                                       }
   10350              :                                     else
   10351              :                                       {
   10352            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1517;
   10353            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1517;
   10354            0 :                                         {
   10355            0 :                                           tree res_op0;
   10356            0 :                                           {
   10357            0 :                                             tree _o1[1], _r1;
   10358            0 :                                             _o1[0] = captures[1];
   10359            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10360              :                                               {
   10361            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10362              :                                               }
   10363              :                                             else
   10364              :                                               _r1 = _o1[0];
   10365            0 :                                             res_op0 = _r1;
   10366              :                                           }
   10367            0 :                                           tree res_op1;
   10368            0 :                                           res_op1 =  csts;
   10369            0 :                                           tree _r;
   10370            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10371            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10372            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10373            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   10374            0 :                                           return _r;
   10375              :                                         }
   10376            0 : next_after_fail1517:;
   10377              :                                       }
   10378              :                                   }
   10379              :                             }
   10380              :                           }
   10381              :                     }
   10382              :                   }
   10383              :                 }
   10384              :               break;
   10385              :             }
   10386            0 :           case INTEGER_CST:
   10387            0 :             {
   10388            0 :               if (integer_zerop (_p1))
   10389              :                 {
   10390            0 :                   {
   10391            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10392            0 :                     const enum tree_code cmp = EQ_EXPR;
   10393            0 :                     const enum tree_code icmp = LE_EXPR;
   10394            0 :                     {
   10395            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10396            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10397              : )
   10398              :                           {
   10399            0 :                             {
   10400            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10401            0 :  ? optab_vector : optab_default;
   10402            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10403            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10404            0 :  || (optimize_vectors_before_lowering_p ()
   10405            0 :  && (!target_supports_op_p (type, cmp, optab)
   10406            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10407              : )
   10408              :                                   {
   10409            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10410              : )
   10411              :                                       {
   10412            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1518;
   10413            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1518;
   10414            0 :                                         {
   10415            0 :                                           tree res_op0;
   10416            0 :                                           res_op0 = captures[1];
   10417            0 :                                           tree res_op1;
   10418            0 :                                           res_op1 =  csts;
   10419            0 :                                           tree _r;
   10420            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10421            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10422            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10423            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
   10424            0 :                                           return _r;
   10425              :                                         }
   10426            0 : next_after_fail1518:;
   10427              :                                       }
   10428              :                                     else
   10429              :                                       {
   10430            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1519;
   10431            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1519;
   10432            0 :                                         {
   10433            0 :                                           tree res_op0;
   10434            0 :                                           {
   10435            0 :                                             tree _o1[1], _r1;
   10436            0 :                                             _o1[0] = captures[1];
   10437            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10438              :                                               {
   10439            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10440              :                                               }
   10441              :                                             else
   10442              :                                               _r1 = _o1[0];
   10443            0 :                                             res_op0 = _r1;
   10444              :                                           }
   10445            0 :                                           tree res_op1;
   10446            0 :                                           res_op1 =  csts;
   10447            0 :                                           tree _r;
   10448            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10449            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10450            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10451            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   10452            0 :                                           return _r;
   10453              :                                         }
   10454            0 : next_after_fail1519:;
   10455              :                                       }
   10456              :                                   }
   10457              :                             }
   10458              :                           }
   10459              :                     }
   10460              :                   }
   10461              :                 }
   10462              :               break;
   10463              :             }
   10464              :           default:;
   10465              :           }
   10466              :         break;
   10467              :       }
   10468        16690 :     case RSHIFT_EXPR:
   10469        16690 :       {
   10470        16690 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10471        16690 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10472        16690 :         switch (TREE_CODE (_q20))
   10473              :           {
   10474            1 :           case MULT_EXPR:
   10475            1 :             {
   10476            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10477            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10478            1 :               switch (TREE_CODE (_q30))
   10479              :                 {
   10480            1 :                 CASE_CONVERT:
   10481            1 :                   {
   10482            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10483            1 :                     switch (TREE_CODE (_q31))
   10484              :                       {
   10485            1 :                       CASE_CONVERT:
   10486            1 :                         {
   10487            1 :                           tree _q60 = TREE_OPERAND (_q31, 0);
   10488            1 :                           switch (TREE_CODE (_q21))
   10489              :                             {
   10490            1 :                             case INTEGER_CST:
   10491            1 :                               {
   10492            1 :                                 if (integer_zerop (_p1))
   10493              :                                   {
   10494            1 :                                     {
   10495            1 :                                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
   10496            1 :                                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10497            1 :                                       if (res) return res;
   10498              :                                     }
   10499              :                                   }
   10500              :                                 break;
   10501              :                               }
   10502              :                             default:;
   10503              :                             }
   10504              :                           break;
   10505              :                         }
   10506              :                       default:;
   10507              :                       }
   10508              :                     break;
   10509              :                   }
   10510              :                 default:;
   10511              :                 }
   10512              :               break;
   10513              :             }
   10514              :           default:;
   10515              :           }
   10516              :         break;
   10517              :       }
   10518       647119 :     case PLUS_EXPR:
   10519       647119 :       {
   10520       647119 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10521       647119 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10522       647119 :         switch (TREE_CODE (_q21))
   10523              :           {
   10524       601956 :           case INTEGER_CST:
   10525       601956 :             {
   10526       601956 :               switch (TREE_CODE (_p1))
   10527              :                 {
   10528       338731 :                 case INTEGER_CST:
   10529       338731 :                   {
   10530       338731 :                     {
   10531       338731 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10532       338731 :                       tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, EQ_EXPR);
   10533       338731 :                       if (res) return res;
   10534              :                     }
   10535           14 :                     break;
   10536              :                   }
   10537              :                 default:;
   10538              :                 }
   10539              :               break;
   10540              :             }
   10541              :           default:;
   10542              :           }
   10543              :         break;
   10544              :       }
   10545        96489 :     case MINUS_EXPR:
   10546        96489 :       {
   10547        96489 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10548        96489 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10549        96489 :         switch (TREE_CODE (_q21))
   10550              :           {
   10551           19 :           case INTEGER_CST:
   10552           19 :             {
   10553           19 :               switch (TREE_CODE (_p1))
   10554              :                 {
   10555           16 :                 case INTEGER_CST:
   10556           16 :                   {
   10557           16 :                     {
   10558           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10559           16 :                       tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, EQ_EXPR);
   10560           16 :                       if (res) return res;
   10561              :                     }
   10562           16 :                     break;
   10563              :                   }
   10564              :                 default:;
   10565              :                 }
   10566              :               break;
   10567              :             }
   10568        96489 :           default:;
   10569              :           }
   10570        96489 :         switch (TREE_CODE (_q20))
   10571              :           {
   10572        38636 :           case INTEGER_CST:
   10573        38636 :             {
   10574        38636 :               switch (TREE_CODE (_p1))
   10575              :                 {
   10576        37593 :                 case INTEGER_CST:
   10577        37593 :                   {
   10578        37593 :                     {
   10579        37593 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10580        37593 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10581        37593 :                       if (res) return res;
   10582              :                     }
   10583            0 :                     break;
   10584              :                   }
   10585              :                 default:;
   10586              :                 }
   10587              :               break;
   10588              :             }
   10589              :           default:;
   10590              :           }
   10591              :         break;
   10592              :       }
   10593      1932434 :     case CALL_EXPR:
   10594      1932434 :       switch (get_call_combined_fn (_p0))
   10595              :         {
   10596           19 :         case CFN_BUILT_IN_CLZ:
   10597           19 :           if (call_expr_nargs (_p0) == 1)
   10598              :     {
   10599           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10600           19 :               switch (TREE_CODE (_p1))
   10601              :                 {
   10602           19 :                 case INTEGER_CST:
   10603           19 :                   {
   10604           19 :                     {
   10605           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10606           19 :                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZ);
   10607           19 :                       if (res) return res;
   10608              :                     }
   10609           16 :                     break;
   10610              :                   }
   10611              :                 default:;
   10612              :                 }
   10613              :             }
   10614              :           break;
   10615           17 :         case CFN_BUILT_IN_CTZ:
   10616           17 :           if (call_expr_nargs (_p0) == 1)
   10617              :     {
   10618           17 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10619           17 :               switch (TREE_CODE (_p1))
   10620              :                 {
   10621           17 :                 case INTEGER_CST:
   10622           17 :                   {
   10623           17 :                     {
   10624           17 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10625           17 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZ);
   10626           17 :                       if (res) return res;
   10627              :                     }
   10628           16 :                     break;
   10629              :                   }
   10630              :                 default:;
   10631              :                 }
   10632              :             }
   10633              :           break;
   10634            4 :         case CFN_BUILT_IN_FFS:
   10635            4 :           if (call_expr_nargs (_p0) == 1)
   10636              :     {
   10637            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10638            4 :               switch (TREE_CODE (_p1))
   10639              :                 {
   10640            4 :                 case INTEGER_CST:
   10641            4 :                   {
   10642            4 :                     {
   10643            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10644            4 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFS);
   10645            4 :                       if (res) return res;
   10646              :                     }
   10647            0 :                     break;
   10648              :                   }
   10649              :                 default:;
   10650              :                 }
   10651              :             }
   10652              :           break;
   10653            0 :         case CFN_REDUC_IOR:
   10654            0 :           if (call_expr_nargs (_p0) == 1)
   10655              :     {
   10656            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10657            0 :               if (integer_zerop (_p1))
   10658              :                 {
   10659            0 :                   {
   10660            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10661            0 :                     tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10662            0 :                     if (res) return res;
   10663              :                   }
   10664              :                 }
   10665              :             }
   10666              :           break;
   10667            0 :         case CFN_BUILT_IN_FFSIMAX:
   10668            0 :           if (call_expr_nargs (_p0) == 1)
   10669              :     {
   10670            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10671            0 :               switch (TREE_CODE (_p1))
   10672              :                 {
   10673            0 :                 case INTEGER_CST:
   10674            0 :                   {
   10675            0 :                     {
   10676            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10677            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSIMAX);
   10678            0 :                       if (res) return res;
   10679              :                     }
   10680            0 :                     break;
   10681              :                   }
   10682              :                 default:;
   10683              :                 }
   10684              :             }
   10685              :           break;
   10686           15 :         case CFN_BUILT_IN_POPCOUNT:
   10687           15 :           if (call_expr_nargs (_p0) == 1)
   10688              :     {
   10689           15 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10690           15 :               if (integer_zerop (_p1))
   10691              :                 {
   10692            1 :                   {
   10693            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10694            1 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT);
   10695            1 :                     if (res) return res;
   10696              :                   }
   10697              :                 }
   10698              :             }
   10699              :           break;
   10700            0 :         case CFN_BUILT_IN_CLZL:
   10701            0 :           if (call_expr_nargs (_p0) == 1)
   10702              :     {
   10703            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10704            0 :               switch (TREE_CODE (_p1))
   10705              :                 {
   10706            0 :                 case INTEGER_CST:
   10707            0 :                   {
   10708            0 :                     {
   10709            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10710            0 :                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZL);
   10711            0 :                       if (res) return res;
   10712              :                     }
   10713            0 :                     break;
   10714              :                   }
   10715              :                 default:;
   10716              :                 }
   10717              :             }
   10718              :           break;
   10719           16 :         case CFN_BUILT_IN_CTZL:
   10720           16 :           if (call_expr_nargs (_p0) == 1)
   10721              :     {
   10722           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10723           16 :               switch (TREE_CODE (_p1))
   10724              :                 {
   10725           16 :                 case INTEGER_CST:
   10726           16 :                   {
   10727           16 :                     {
   10728           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10729           16 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZL);
   10730           16 :                       if (res) return res;
   10731              :                     }
   10732           16 :                     break;
   10733              :                   }
   10734              :                 default:;
   10735              :                 }
   10736              :             }
   10737              :           break;
   10738            1 :         case CFN_BUILT_IN_FFSL:
   10739            1 :           if (call_expr_nargs (_p0) == 1)
   10740              :     {
   10741            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10742            1 :               switch (TREE_CODE (_p1))
   10743              :                 {
   10744            1 :                 case INTEGER_CST:
   10745            1 :                   {
   10746            1 :                     {
   10747            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10748            1 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSL);
   10749            1 :                       if (res) return res;
   10750              :                     }
   10751            0 :                     break;
   10752              :                   }
   10753              :                 default:;
   10754              :                 }
   10755              :             }
   10756              :           break;
   10757            7 :         case CFN_BUILT_IN_POPCOUNTLL:
   10758            7 :           if (call_expr_nargs (_p0) == 1)
   10759              :     {
   10760            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10761            7 :               if (integer_zerop (_p1))
   10762              :                 {
   10763            1 :                   {
   10764            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10765            1 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10766            1 :                     if (res) return res;
   10767              :                   }
   10768              :                 }
   10769              :             }
   10770              :           break;
   10771            0 :         case CFN_BUILT_IN_CTZIMAX:
   10772            0 :           if (call_expr_nargs (_p0) == 1)
   10773              :     {
   10774            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10775            0 :               switch (TREE_CODE (_p1))
   10776              :                 {
   10777            0 :                 case INTEGER_CST:
   10778            0 :                   {
   10779            0 :                     {
   10780            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10781            0 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   10782            0 :                       if (res) return res;
   10783              :                     }
   10784            0 :                     break;
   10785              :                   }
   10786              :                 default:;
   10787              :                 }
   10788              :             }
   10789              :           break;
   10790            0 :         case CFN_POPCOUNT:
   10791            0 :           if (call_expr_nargs (_p0) == 1)
   10792              :     {
   10793            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10794            0 :               if (integer_zerop (_p1))
   10795              :                 {
   10796            0 :                   {
   10797            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10798            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_POPCOUNT);
   10799            0 :                     if (res) return res;
   10800              :                   }
   10801              :                 }
   10802              :             }
   10803              :           break;
   10804            0 :         case CFN_CLZ:
   10805            0 :           if (call_expr_nargs (_p0) == 1)
   10806              :     {
   10807            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10808            0 :               switch (TREE_CODE (_p1))
   10809              :                 {
   10810            0 :                 case INTEGER_CST:
   10811            0 :                   {
   10812            0 :                     {
   10813            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10814            0 :                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_CLZ);
   10815            0 :                       if (res) return res;
   10816              :                     }
   10817            0 :                     break;
   10818              :                   }
   10819              :                 default:;
   10820              :                 }
   10821              :             }
   10822            0 :           if (call_expr_nargs (_p0) == 2)
   10823              :     {
   10824            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10825            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10826            0 :               switch (TREE_CODE (_p1))
   10827              :                 {
   10828            0 :                 case INTEGER_CST:
   10829            0 :                   {
   10830            0 :                     {
   10831            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10832            0 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
   10833            0 :                       if (res) return res;
   10834              :                     }
   10835            0 :                     break;
   10836              :                   }
   10837              :                 default:;
   10838              :                 }
   10839              :             }
   10840              :           break;
   10841            0 :         case CFN_CTZ:
   10842            0 :           if (call_expr_nargs (_p0) == 1)
   10843              :     {
   10844            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10845            0 :               switch (TREE_CODE (_p1))
   10846              :                 {
   10847            0 :                 case INTEGER_CST:
   10848            0 :                   {
   10849            0 :                     {
   10850            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10851            0 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_CTZ);
   10852            0 :                       if (res) return res;
   10853              :                     }
   10854            0 :                     break;
   10855              :                   }
   10856              :                 default:;
   10857              :                 }
   10858              :             }
   10859            0 :           if (call_expr_nargs (_p0) == 2)
   10860              :     {
   10861            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10862            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10863            0 :               switch (TREE_CODE (_p1))
   10864              :                 {
   10865            0 :                 case INTEGER_CST:
   10866            0 :                   {
   10867            0 :                     {
   10868            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10869            0 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10870            0 :                       if (res) return res;
   10871              :                     }
   10872            0 :                     break;
   10873              :                   }
   10874              :                 default:;
   10875              :                 }
   10876              :             }
   10877              :           break;
   10878            0 :         case CFN_FFS:
   10879            0 :           if (call_expr_nargs (_p0) == 1)
   10880              :     {
   10881            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10882            0 :               switch (TREE_CODE (_p1))
   10883              :                 {
   10884            0 :                 case INTEGER_CST:
   10885            0 :                   {
   10886            0 :                     {
   10887            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10888            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_FFS);
   10889            0 :                       if (res) return res;
   10890              :                     }
   10891            0 :                     break;
   10892              :                   }
   10893              :                 default:;
   10894              :                 }
   10895              :             }
   10896              :           break;
   10897            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   10898            0 :           if (call_expr_nargs (_p0) == 1)
   10899              :     {
   10900            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10901            0 :               if (integer_zerop (_p1))
   10902              :                 {
   10903            0 :                   {
   10904            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10905            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10906            0 :                     if (res) return res;
   10907              :                   }
   10908              :                 }
   10909              :             }
   10910              :           break;
   10911            0 :         case CFN_BUILT_IN_CLZIMAX:
   10912            0 :           if (call_expr_nargs (_p0) == 1)
   10913              :     {
   10914            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10915            0 :               switch (TREE_CODE (_p1))
   10916              :                 {
   10917            0 :                 case INTEGER_CST:
   10918            0 :                   {
   10919            0 :                     {
   10920            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10921            0 :                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZIMAX);
   10922            0 :                       if (res) return res;
   10923              :                     }
   10924            0 :                     break;
   10925              :                   }
   10926              :                 default:;
   10927              :                 }
   10928              :             }
   10929              :           break;
   10930            7 :         case CFN_BUILT_IN_POPCOUNTL:
   10931            7 :           if (call_expr_nargs (_p0) == 1)
   10932              :     {
   10933            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10934            7 :               if (integer_zerop (_p1))
   10935              :                 {
   10936            1 :                   {
   10937            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10938            1 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10939            1 :                     if (res) return res;
   10940              :                   }
   10941              :                 }
   10942              :             }
   10943              :           break;
   10944           16 :         case CFN_BUILT_IN_CLZLL:
   10945           16 :           if (call_expr_nargs (_p0) == 1)
   10946              :     {
   10947           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10948           16 :               switch (TREE_CODE (_p1))
   10949              :                 {
   10950           16 :                 case INTEGER_CST:
   10951           16 :                   {
   10952           16 :                     {
   10953           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10954           16 :                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZLL);
   10955           16 :                       if (res) return res;
   10956              :                     }
   10957           16 :                     break;
   10958              :                   }
   10959              :                 default:;
   10960              :                 }
   10961              :             }
   10962              :           break;
   10963            0 :         case CFN_BUILT_IN_CTZLL:
   10964            0 :           if (call_expr_nargs (_p0) == 1)
   10965              :     {
   10966            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10967            0 :               switch (TREE_CODE (_p1))
   10968              :                 {
   10969            0 :                 case INTEGER_CST:
   10970            0 :                   {
   10971            0 :                     {
   10972            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10973            0 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10974            0 :                       if (res) return res;
   10975              :                     }
   10976            0 :                     break;
   10977              :                   }
   10978              :                 default:;
   10979              :                 }
   10980              :             }
   10981              :           break;
   10982            0 :         case CFN_BUILT_IN_FFSLL:
   10983            0 :           if (call_expr_nargs (_p0) == 1)
   10984              :     {
   10985            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10986            0 :               switch (TREE_CODE (_p1))
   10987              :                 {
   10988            0 :                 case INTEGER_CST:
   10989            0 :                   {
   10990            0 :                     {
   10991            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10992            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSLL);
   10993            0 :                       if (res) return res;
   10994              :                     }
   10995            0 :                     break;
   10996              :                   }
   10997              :                 default:;
   10998              :                 }
   10999              :             }
   11000              :           break;
   11001              :         default:;
   11002              :         }
   11003              :       break;
   11004              :     default:;
   11005              :     }
   11006              :   return NULL_TREE;
   11007              : }
   11008              : 
   11009              : tree
   11010       351790 : generic_simplify_UNEQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11011              : {
   11012       351790 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11013       351790 :   switch (TREE_CODE (_p0))
   11014              :     {
   11015            0 :     case VEC_COND_EXPR:
   11016            0 :       {
   11017            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11018            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11019            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11020            0 :         switch (TREE_CODE (_p1))
   11021              :           {
   11022            0 :           case VEC_COND_EXPR:
   11023            0 :             {
   11024            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11025            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11026            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11027            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11028              :                 {
   11029            0 :                   {
   11030            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11031            0 :                     if (VECTOR_TYPE_P (type)
   11032            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   11033            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11034            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11035              :  || (optimize_vectors_before_lowering_p ()
   11036            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11037              : )
   11038              :                       {
   11039            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1778;
   11040            0 :                         {
   11041            0 :                           tree res_op0;
   11042            0 :                           res_op0 = captures[1];
   11043            0 :                           tree res_op1;
   11044            0 :                           {
   11045            0 :                             tree _o1[2], _r1;
   11046            0 :                             _o1[0] = captures[2];
   11047            0 :                             _o1[1] = captures[5];
   11048            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11049            0 :                             if (EXPR_P (_r1))
   11050            0 :                               goto next_after_fail1778;
   11051            0 :                             res_op1 = _r1;
   11052              :                           }
   11053            0 :                           tree res_op2;
   11054            0 :                           {
   11055            0 :                             tree _o1[2], _r1;
   11056            0 :                             _o1[0] = captures[3];
   11057            0 :                             _o1[1] = captures[6];
   11058            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11059            0 :                             if (EXPR_P (_r1))
   11060            0 :                               goto next_after_fail1778;
   11061            0 :                             res_op2 = _r1;
   11062              :                           }
   11063            0 :                           tree _r;
   11064            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11065            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   11066            0 :                           return _r;
   11067              :                         }
   11068            0 : next_after_fail1778:;
   11069              :                       }
   11070              :                   }
   11071              :                 }
   11072              :               break;
   11073              :             }
   11074            0 :           default:;
   11075              :           }
   11076            0 :         {
   11077            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11078            0 :           if (VECTOR_TYPE_P (type)
   11079            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   11080            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11081            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11082              :  || (optimize_vectors_before_lowering_p ()
   11083            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11084              : )
   11085              :             {
   11086            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1779;
   11087            0 :               {
   11088            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1779;
   11089            0 :                 tree res_op0;
   11090            0 :                 res_op0 = captures[1];
   11091            0 :                 tree res_op1;
   11092            0 :                 {
   11093            0 :                   tree _o1[2], _r1;
   11094            0 :                   _o1[0] = captures[2];
   11095            0 :                   _o1[1] = unshare_expr (captures[4]);
   11096            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11097            0 :                   if (EXPR_P (_r1))
   11098            0 :                     goto next_after_fail1779;
   11099            0 :                   res_op1 = _r1;
   11100              :                 }
   11101            0 :                 tree res_op2;
   11102            0 :                 {
   11103            0 :                   tree _o1[2], _r1;
   11104            0 :                   _o1[0] = captures[3];
   11105            0 :                   _o1[1] = captures[4];
   11106            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11107            0 :                   if (EXPR_P (_r1))
   11108            0 :                     goto next_after_fail1779;
   11109            0 :                   res_op2 = _r1;
   11110              :                 }
   11111            0 :                 tree _r;
   11112            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11113            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   11114            0 :                 return _r;
   11115              :               }
   11116            0 : next_after_fail1779:;
   11117              :             }
   11118              :         }
   11119            0 :         break;
   11120              :       }
   11121       351790 :     default:;
   11122              :     }
   11123       351790 :   switch (TREE_CODE (_p1))
   11124              :     {
   11125            0 :     case VEC_COND_EXPR:
   11126            0 :       {
   11127            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11128            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11129            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11130            0 :         {
   11131            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11132            0 :           if (VECTOR_TYPE_P (type)
   11133            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   11134            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11135            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11136              :  || (optimize_vectors_before_lowering_p ()
   11137            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11138              : )
   11139              :             {
   11140            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1780;
   11141            0 :               {
   11142            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1780;
   11143            0 :                 tree res_op0;
   11144            0 :                 res_op0 = captures[2];
   11145            0 :                 tree res_op1;
   11146            0 :                 {
   11147            0 :                   tree _o1[2], _r1;
   11148            0 :                   _o1[0] = unshare_expr (captures[0]);
   11149            0 :                   _o1[1] = captures[3];
   11150            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11151            0 :                   if (EXPR_P (_r1))
   11152            0 :                     goto next_after_fail1780;
   11153            0 :                   res_op1 = _r1;
   11154              :                 }
   11155            0 :                 tree res_op2;
   11156            0 :                 {
   11157            0 :                   tree _o1[2], _r1;
   11158            0 :                   _o1[0] = captures[0];
   11159            0 :                   _o1[1] = captures[4];
   11160            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   11161            0 :                   if (EXPR_P (_r1))
   11162            0 :                     goto next_after_fail1780;
   11163            0 :                   res_op2 = _r1;
   11164              :                 }
   11165            0 :                 tree _r;
   11166            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11167            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   11168            0 :                 return _r;
   11169              :               }
   11170            0 : next_after_fail1780:;
   11171              :             }
   11172              :         }
   11173            0 :         break;
   11174              :       }
   11175       351790 :     default:;
   11176              :     }
   11177       351790 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11178              :     {
   11179            0 :       {
   11180            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11181            0 :         tree res = generic_simplify_563 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   11182            0 :         if (res) return res;
   11183              :       }
   11184              :     }
   11185       351790 :   switch (TREE_CODE (_p0))
   11186              :     {
   11187            0 :     case FLOAT_EXPR:
   11188            0 :       {
   11189            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11190            0 :         switch (TREE_CODE (_p1))
   11191              :           {
   11192            0 :           case FLOAT_EXPR:
   11193            0 :             {
   11194            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11195            0 :               {
   11196            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   11197            0 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, UNEQ_EXPR, EQ_EXPR);
   11198            0 :                 if (res) return res;
   11199              :               }
   11200            0 :               break;
   11201              :             }
   11202              :           default:;
   11203              :           }
   11204              :         break;
   11205              :       }
   11206            0 :     case NEGATE_EXPR:
   11207            0 :       {
   11208            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11209            0 :         switch (TREE_CODE (_p1))
   11210              :           {
   11211            0 :           case NEGATE_EXPR:
   11212            0 :             {
   11213            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11214            0 :               {
   11215            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11216            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   11217            0 :                 if (res) return res;
   11218              :               }
   11219            0 :               break;
   11220              :             }
   11221            0 :           default:;
   11222              :           }
   11223            0 :       if (CONSTANT_CLASS_P (_p1))
   11224              :         {
   11225            0 :           {
   11226            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11227            0 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   11228            0 :             if (res) return res;
   11229              :           }
   11230              :         }
   11231              :         break;
   11232              :       }
   11233       351790 :     default:;
   11234              :     }
   11235       351790 :   switch (TREE_CODE (_p1))
   11236              :     {
   11237          154 :     case REAL_CST:
   11238          154 :       {
   11239          154 :         {
   11240          154 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11241          154 :           tree res = generic_simplify_561 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   11242          154 :           if (res) return res;
   11243              :         }
   11244          152 :         break;
   11245              :       }
   11246              :     default:;
   11247              :     }
   11248              :   return NULL_TREE;
   11249              : }
   11250              : 
   11251              : tree
   11252     12470522 : generic_simplify_COND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
   11253              : {
   11254     12470522 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11255     12470522 :   switch (TREE_CODE (_p0))
   11256              :     {
   11257      1760210 :     case LT_EXPR:
   11258      1760210 :       {
   11259      1760210 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11260      1760210 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11261      1760210 :         switch (TREE_CODE (_q20))
   11262              :           {
   11263        11288 :           case MINUS_EXPR:
   11264        11288 :             {
   11265        11288 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11266        11288 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11267        11288 :               switch (TREE_CODE (_q30))
   11268              :                 {
   11269          592 :                 case SSA_NAME:
   11270          592 :                   {
   11271          592 :                     switch (TREE_CODE (_q31))
   11272              :                       {
   11273            0 :                       case CALL_EXPR:
   11274            0 :                         switch (get_call_combined_fn (_q31))
   11275              :                           {
   11276            0 :                           case CFN_BUILT_IN_FLOORF:
   11277            0 :                             if (call_expr_nargs (_q31) == 1)
   11278              :     {
   11279            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11280            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11281              :                                   {
   11282            0 :                                     switch (TREE_CODE (_q50))
   11283              :                                       {
   11284            0 :                                       case SSA_NAME:
   11285            0 :                                         {
   11286            0 :                                           switch (TREE_CODE (_q21))
   11287              :                                             {
   11288            0 :                                             case MINUS_EXPR:
   11289            0 :                                               {
   11290            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11291            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11292            0 :                                                 switch (TREE_CODE (_q80))
   11293              :                                                   {
   11294            0 :                                                   case CALL_EXPR:
   11295            0 :                                                     switch (get_call_combined_fn (_q80))
   11296              :                                                       {
   11297            0 :                                                       case CFN_BUILT_IN_CEILF:
   11298            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11299              :     {
   11300            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11301            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11302              :                                                               {
   11303            0 :                                                                 switch (TREE_CODE (_q90))
   11304              :                                                                   {
   11305            0 :                                                                   case SSA_NAME:
   11306            0 :                                                                     {
   11307            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11308              :                                                                         {
   11309            0 :                                                                           switch (TREE_CODE (_q81))
   11310              :                                                                             {
   11311            0 :                                                                             case SSA_NAME:
   11312            0 :                                                                               {
   11313            0 :                                                                                 switch (TREE_CODE (_p1))
   11314              :                                                                                   {
   11315            0 :                                                                                   case CALL_EXPR:
   11316            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11317              :                                                                                       {
   11318            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   11319            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11320              :     {
   11321            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11322            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11323              :                                                                                               {
   11324            0 :                                                                                                 switch (TREE_CODE (_q140))
   11325              :                                                                                                   {
   11326            0 :                                                                                                   case SSA_NAME:
   11327            0 :                                                                                                     {
   11328            0 :                                                                                                       switch (TREE_CODE (_p2))
   11329              :                                                                                                         {
   11330            0 :                                                                                                         case CALL_EXPR:
   11331            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11332              :                                                                                                             {
   11333            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   11334            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11335              :     {
   11336            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11337            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11338              :                                                                                                                     {
   11339            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11340              :                                                                                                                         {
   11341            0 :                                                                                                                         case SSA_NAME:
   11342            0 :                                                                                                                           {
   11343            0 :                                                                                                                             {
   11344            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11345            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   11346            0 :                                                                                                                               if (res) return res;
   11347              :                                                                                                                             }
   11348            0 :                                                                                                                             break;
   11349              :                                                                                                                           }
   11350              :                                                                                                                         default:;
   11351              :                                                                                                                         }
   11352              :                                                                                                                     }
   11353              :                                                                                                                 }
   11354              :                                                                                                               break;
   11355              :                                                                                                             default:;
   11356              :                                                                                                             }
   11357              :                                                                                                           break;
   11358              :                                                                                                         default:;
   11359              :                                                                                                         }
   11360              :                                                                                                       break;
   11361              :                                                                                                     }
   11362              :                                                                                                   default:;
   11363              :                                                                                                   }
   11364              :                                                                                               }
   11365              :                                                                                           }
   11366              :                                                                                         break;
   11367              :                                                                                       default:;
   11368              :                                                                                       }
   11369              :                                                                                     break;
   11370              :                                                                                   default:;
   11371              :                                                                                   }
   11372              :                                                                                 break;
   11373              :                                                                               }
   11374              :                                                                             default:;
   11375              :                                                                             }
   11376              :                                                                         }
   11377              :                                                                       break;
   11378              :                                                                     }
   11379              :                                                                   default:;
   11380              :                                                                   }
   11381              :                                                               }
   11382              :                                                           }
   11383              :                                                         break;
   11384              :                                                       default:;
   11385              :                                                       }
   11386              :                                                     break;
   11387              :                                                   default:;
   11388              :                                                   }
   11389              :                                                 break;
   11390              :                                               }
   11391              :                                             default:;
   11392              :                                             }
   11393              :                                           break;
   11394              :                                         }
   11395              :                                       default:;
   11396              :                                       }
   11397              :                                   }
   11398              :                               }
   11399              :                             break;
   11400            0 :                           case CFN_BUILT_IN_FLOORL:
   11401            0 :                             if (call_expr_nargs (_q31) == 1)
   11402              :     {
   11403            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11404            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11405              :                                   {
   11406            0 :                                     switch (TREE_CODE (_q50))
   11407              :                                       {
   11408            0 :                                       case SSA_NAME:
   11409            0 :                                         {
   11410            0 :                                           switch (TREE_CODE (_q21))
   11411              :                                             {
   11412            0 :                                             case MINUS_EXPR:
   11413            0 :                                               {
   11414            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11415            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11416            0 :                                                 switch (TREE_CODE (_q80))
   11417              :                                                   {
   11418            0 :                                                   case CALL_EXPR:
   11419            0 :                                                     switch (get_call_combined_fn (_q80))
   11420              :                                                       {
   11421            0 :                                                       case CFN_BUILT_IN_CEILL:
   11422            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11423              :     {
   11424            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11425            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11426              :                                                               {
   11427            0 :                                                                 switch (TREE_CODE (_q90))
   11428              :                                                                   {
   11429            0 :                                                                   case SSA_NAME:
   11430            0 :                                                                     {
   11431            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11432              :                                                                         {
   11433            0 :                                                                           switch (TREE_CODE (_q81))
   11434              :                                                                             {
   11435            0 :                                                                             case SSA_NAME:
   11436            0 :                                                                               {
   11437            0 :                                                                                 switch (TREE_CODE (_p1))
   11438              :                                                                                   {
   11439            0 :                                                                                   case CALL_EXPR:
   11440            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11441              :                                                                                       {
   11442            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   11443            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11444              :     {
   11445            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11446            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11447              :                                                                                               {
   11448            0 :                                                                                                 switch (TREE_CODE (_q140))
   11449              :                                                                                                   {
   11450            0 :                                                                                                   case SSA_NAME:
   11451            0 :                                                                                                     {
   11452            0 :                                                                                                       switch (TREE_CODE (_p2))
   11453              :                                                                                                         {
   11454            0 :                                                                                                         case CALL_EXPR:
   11455            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11456              :                                                                                                             {
   11457            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   11458            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11459              :     {
   11460            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11461            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11462              :                                                                                                                     {
   11463            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11464              :                                                                                                                         {
   11465            0 :                                                                                                                         case SSA_NAME:
   11466            0 :                                                                                                                           {
   11467            0 :                                                                                                                             {
   11468            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11469            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   11470            0 :                                                                                                                               if (res) return res;
   11471              :                                                                                                                             }
   11472            0 :                                                                                                                             break;
   11473              :                                                                                                                           }
   11474              :                                                                                                                         default:;
   11475              :                                                                                                                         }
   11476              :                                                                                                                     }
   11477              :                                                                                                                 }
   11478              :                                                                                                               break;
   11479              :                                                                                                             default:;
   11480              :                                                                                                             }
   11481              :                                                                                                           break;
   11482              :                                                                                                         default:;
   11483              :                                                                                                         }
   11484              :                                                                                                       break;
   11485              :                                                                                                     }
   11486              :                                                                                                   default:;
   11487              :                                                                                                   }
   11488              :                                                                                               }
   11489              :                                                                                           }
   11490              :                                                                                         break;
   11491              :                                                                                       default:;
   11492              :                                                                                       }
   11493              :                                                                                     break;
   11494              :                                                                                   default:;
   11495              :                                                                                   }
   11496              :                                                                                 break;
   11497              :                                                                               }
   11498              :                                                                             default:;
   11499              :                                                                             }
   11500              :                                                                         }
   11501              :                                                                       break;
   11502              :                                                                     }
   11503              :                                                                   default:;
   11504              :                                                                   }
   11505              :                                                               }
   11506              :                                                           }
   11507              :                                                         break;
   11508              :                                                       default:;
   11509              :                                                       }
   11510              :                                                     break;
   11511              :                                                   default:;
   11512              :                                                   }
   11513              :                                                 break;
   11514              :                                               }
   11515              :                                             default:;
   11516              :                                             }
   11517              :                                           break;
   11518              :                                         }
   11519              :                                       default:;
   11520              :                                       }
   11521              :                                   }
   11522              :                               }
   11523              :                             break;
   11524            0 :                           case CFN_FLOOR:
   11525            0 :                             if (call_expr_nargs (_q31) == 1)
   11526              :     {
   11527            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11528            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11529              :                                   {
   11530            0 :                                     switch (TREE_CODE (_q50))
   11531              :                                       {
   11532            0 :                                       case SSA_NAME:
   11533            0 :                                         {
   11534            0 :                                           switch (TREE_CODE (_q21))
   11535              :                                             {
   11536            0 :                                             case MINUS_EXPR:
   11537            0 :                                               {
   11538            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11539            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11540            0 :                                                 switch (TREE_CODE (_q80))
   11541              :                                                   {
   11542            0 :                                                   case CALL_EXPR:
   11543            0 :                                                     switch (get_call_combined_fn (_q80))
   11544              :                                                       {
   11545            0 :                                                       case CFN_CEIL:
   11546            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11547              :     {
   11548            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11549            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11550              :                                                               {
   11551            0 :                                                                 switch (TREE_CODE (_q90))
   11552              :                                                                   {
   11553            0 :                                                                   case SSA_NAME:
   11554            0 :                                                                     {
   11555            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11556              :                                                                         {
   11557            0 :                                                                           switch (TREE_CODE (_q81))
   11558              :                                                                             {
   11559            0 :                                                                             case SSA_NAME:
   11560            0 :                                                                               {
   11561            0 :                                                                                 switch (TREE_CODE (_p1))
   11562              :                                                                                   {
   11563            0 :                                                                                   case CALL_EXPR:
   11564            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11565              :                                                                                       {
   11566            0 :                                                                                       case CFN_FLOOR:
   11567            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11568              :     {
   11569            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11570            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11571              :                                                                                               {
   11572            0 :                                                                                                 switch (TREE_CODE (_q140))
   11573              :                                                                                                   {
   11574            0 :                                                                                                   case SSA_NAME:
   11575            0 :                                                                                                     {
   11576            0 :                                                                                                       switch (TREE_CODE (_p2))
   11577              :                                                                                                         {
   11578            0 :                                                                                                         case CALL_EXPR:
   11579            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11580              :                                                                                                             {
   11581            0 :                                                                                                             case CFN_CEIL:
   11582            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11583              :     {
   11584            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11585            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11586              :                                                                                                                     {
   11587            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11588              :                                                                                                                         {
   11589            0 :                                                                                                                         case SSA_NAME:
   11590            0 :                                                                                                                           {
   11591            0 :                                                                                                                             {
   11592            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11593            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   11594            0 :                                                                                                                               if (res) return res;
   11595              :                                                                                                                             }
   11596            0 :                                                                                                                             break;
   11597              :                                                                                                                           }
   11598              :                                                                                                                         default:;
   11599              :                                                                                                                         }
   11600              :                                                                                                                     }
   11601              :                                                                                                                 }
   11602              :                                                                                                               break;
   11603              :                                                                                                             default:;
   11604              :                                                                                                             }
   11605              :                                                                                                           break;
   11606              :                                                                                                         default:;
   11607              :                                                                                                         }
   11608              :                                                                                                       break;
   11609              :                                                                                                     }
   11610              :                                                                                                   default:;
   11611              :                                                                                                   }
   11612              :                                                                                               }
   11613              :                                                                                           }
   11614              :                                                                                         break;
   11615              :                                                                                       default:;
   11616              :                                                                                       }
   11617              :                                                                                     break;
   11618              :                                                                                   default:;
   11619              :                                                                                   }
   11620              :                                                                                 break;
   11621              :                                                                               }
   11622              :                                                                             default:;
   11623              :                                                                             }
   11624              :                                                                         }
   11625              :                                                                       break;
   11626              :                                                                     }
   11627              :                                                                   default:;
   11628              :                                                                   }
   11629              :                                                               }
   11630              :                                                           }
   11631              :                                                         break;
   11632              :                                                       default:;
   11633              :                                                       }
   11634              :                                                     break;
   11635              :                                                   default:;
   11636              :                                                   }
   11637              :                                                 break;
   11638              :                                               }
   11639              :                                             default:;
   11640              :                                             }
   11641              :                                           break;
   11642              :                                         }
   11643              :                                       default:;
   11644              :                                       }
   11645              :                                   }
   11646              :                               }
   11647              :                             break;
   11648            0 :                           case CFN_BUILT_IN_FLOOR:
   11649            0 :                             if (call_expr_nargs (_q31) == 1)
   11650              :     {
   11651            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11652            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11653              :                                   {
   11654            0 :                                     switch (TREE_CODE (_q50))
   11655              :                                       {
   11656            0 :                                       case SSA_NAME:
   11657            0 :                                         {
   11658            0 :                                           switch (TREE_CODE (_q21))
   11659              :                                             {
   11660            0 :                                             case MINUS_EXPR:
   11661            0 :                                               {
   11662            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11663            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11664            0 :                                                 switch (TREE_CODE (_q80))
   11665              :                                                   {
   11666            0 :                                                   case CALL_EXPR:
   11667            0 :                                                     switch (get_call_combined_fn (_q80))
   11668              :                                                       {
   11669            0 :                                                       case CFN_BUILT_IN_CEIL:
   11670            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11671              :     {
   11672            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11673            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11674              :                                                               {
   11675            0 :                                                                 switch (TREE_CODE (_q90))
   11676              :                                                                   {
   11677            0 :                                                                   case SSA_NAME:
   11678            0 :                                                                     {
   11679            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11680              :                                                                         {
   11681            0 :                                                                           switch (TREE_CODE (_q81))
   11682              :                                                                             {
   11683            0 :                                                                             case SSA_NAME:
   11684            0 :                                                                               {
   11685            0 :                                                                                 switch (TREE_CODE (_p1))
   11686              :                                                                                   {
   11687            0 :                                                                                   case CALL_EXPR:
   11688            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11689              :                                                                                       {
   11690            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   11691            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11692              :     {
   11693            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11694            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11695              :                                                                                               {
   11696            0 :                                                                                                 switch (TREE_CODE (_q140))
   11697              :                                                                                                   {
   11698            0 :                                                                                                   case SSA_NAME:
   11699            0 :                                                                                                     {
   11700            0 :                                                                                                       switch (TREE_CODE (_p2))
   11701              :                                                                                                         {
   11702            0 :                                                                                                         case CALL_EXPR:
   11703            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11704              :                                                                                                             {
   11705            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   11706            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11707              :     {
   11708            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11709            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11710              :                                                                                                                     {
   11711            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11712              :                                                                                                                         {
   11713            0 :                                                                                                                         case SSA_NAME:
   11714            0 :                                                                                                                           {
   11715            0 :                                                                                                                             {
   11716            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11717            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   11718            0 :                                                                                                                               if (res) return res;
   11719              :                                                                                                                             }
   11720            0 :                                                                                                                             break;
   11721              :                                                                                                                           }
   11722              :                                                                                                                         default:;
   11723              :                                                                                                                         }
   11724              :                                                                                                                     }
   11725              :                                                                                                                 }
   11726              :                                                                                                               break;
   11727              :                                                                                                             default:;
   11728              :                                                                                                             }
   11729              :                                                                                                           break;
   11730              :                                                                                                         default:;
   11731              :                                                                                                         }
   11732              :                                                                                                       break;
   11733              :                                                                                                     }
   11734              :                                                                                                   default:;
   11735              :                                                                                                   }
   11736              :                                                                                               }
   11737              :                                                                                           }
   11738              :                                                                                         break;
   11739              :                                                                                       default:;
   11740              :                                                                                       }
   11741              :                                                                                     break;
   11742              :                                                                                   default:;
   11743              :                                                                                   }
   11744              :                                                                                 break;
   11745              :                                                                               }
   11746              :                                                                             default:;
   11747              :                                                                             }
   11748              :                                                                         }
   11749              :                                                                       break;
   11750              :                                                                     }
   11751              :                                                                   default:;
   11752              :                                                                   }
   11753              :                                                               }
   11754              :                                                           }
   11755              :                                                         break;
   11756              :                                                       default:;
   11757              :                                                       }
   11758              :                                                     break;
   11759              :                                                   default:;
   11760              :                                                   }
   11761              :                                                 break;
   11762              :                                               }
   11763              :                                             default:;
   11764              :                                             }
   11765              :                                           break;
   11766              :                                         }
   11767              :                                       default:;
   11768              :                                       }
   11769              :                                   }
   11770              :                               }
   11771              :                             break;
   11772              :                           default:;
   11773              :                           }
   11774              :                         break;
   11775              :                       default:;
   11776              :                       }
   11777              :                     break;
   11778              :                   }
   11779              :                 default:;
   11780              :                 }
   11781              :               break;
   11782              :             }
   11783      1760210 :           default:;
   11784              :           }
   11785      1760210 :         switch (TREE_CODE (_p1))
   11786              :           {
   11787            8 :           case BIT_IOR_EXPR:
   11788            8 :             {
   11789            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11790            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11791            8 :               switch (TREE_CODE (_q51))
   11792              :                 {
   11793            8 :                 case INTEGER_CST:
   11794            8 :                   {
   11795            8 :                     switch (TREE_CODE (_p2))
   11796              :                       {
   11797            0 :                       case BIT_AND_EXPR:
   11798            0 :                         {
   11799            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   11800            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   11801            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   11802              :                             {
   11803            0 :                               switch (TREE_CODE (_q81))
   11804              :                                 {
   11805            0 :                                 case INTEGER_CST:
   11806            0 :                                   {
   11807            0 :                                     {
   11808            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   11809            0 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11810            0 :                                       if (res) return res;
   11811              :                                     }
   11812            0 :                                     break;
   11813              :                                   }
   11814              :                                 default:;
   11815              :                                 }
   11816              :                             }
   11817              :                           break;
   11818              :                         }
   11819              :                       default:;
   11820              :                       }
   11821              :                     break;
   11822              :                   }
   11823              :                 default:;
   11824              :                 }
   11825              :               break;
   11826              :             }
   11827      1760210 :           default:;
   11828              :           }
   11829      1760210 :         switch (TREE_CODE (_q20))
   11830              :           {
   11831        94663 :           CASE_CONVERT:
   11832        94663 :             {
   11833        94663 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11834        94663 :               switch (TREE_CODE (_q21))
   11835              :                 {
   11836        17142 :                 case INTEGER_CST:
   11837        17142 :                   {
   11838        17142 :                     switch (TREE_CODE (_p1))
   11839              :                       {
   11840           15 :                       CASE_CONVERT:
   11841           15 :                         {
   11842           15 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11843           15 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11844              :                             {
   11845            0 :                               switch (TREE_CODE (_p2))
   11846              :                                 {
   11847            0 :                                 case INTEGER_CST:
   11848            0 :                                   {
   11849            0 :                                     {
   11850            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   11851            0 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11852            0 :                                       if (res) return res;
   11853              :                                     }
   11854            0 :                                     break;
   11855              :                                   }
   11856              :                                 default:;
   11857              :                                 }
   11858              :                             }
   11859              :                           break;
   11860              :                         }
   11861        17142 :                       default:;
   11862              :                       }
   11863        17142 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11864              :                       {
   11865            6 :                         switch (TREE_CODE (_p2))
   11866              :                           {
   11867            6 :                           case INTEGER_CST:
   11868            6 :                             {
   11869            6 :                               {
   11870            6 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   11871            6 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11872            6 :                                 if (res) return res;
   11873              :                               }
   11874            6 :                               break;
   11875              :                             }
   11876              :                           default:;
   11877              :                           }
   11878              :                       }
   11879        17142 :                     switch (TREE_CODE (_p1))
   11880              :                       {
   11881           25 :                       case PLUS_EXPR:
   11882           25 :                         {
   11883           25 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11884           25 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   11885           25 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11886              :                             {
   11887            7 :                               switch (TREE_CODE (_q61))
   11888              :                                 {
   11889            7 :                                 case INTEGER_CST:
   11890            7 :                                   {
   11891            7 :                                     switch (TREE_CODE (_p2))
   11892              :                                       {
   11893            7 :                                       case INTEGER_CST:
   11894            7 :                                         {
   11895            7 :                                           {
   11896            7 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   11897            7 :                                             tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   11898            7 :                                             if (res) return res;
   11899              :                                           }
   11900            0 :                                           break;
   11901              :                                         }
   11902              :                                       default:;
   11903              :                                       }
   11904              :                                     break;
   11905              :                                   }
   11906              :                                 default:;
   11907              :                                 }
   11908              :                             }
   11909              :                           break;
   11910              :                         }
   11911            0 :                       case MINUS_EXPR:
   11912            0 :                         {
   11913            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   11914            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   11915            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11916              :                             {
   11917            0 :                               switch (TREE_CODE (_q61))
   11918              :                                 {
   11919            0 :                                 case INTEGER_CST:
   11920            0 :                                   {
   11921            0 :                                     switch (TREE_CODE (_p2))
   11922              :                                       {
   11923            0 :                                       case INTEGER_CST:
   11924            0 :                                         {
   11925            0 :                                           {
   11926            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   11927            0 :                                             tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   11928            0 :                                             if (res) return res;
   11929              :                                           }
   11930            0 :                                           break;
   11931              :                                         }
   11932              :                                       default:;
   11933              :                                       }
   11934              :                                     break;
   11935              :                                   }
   11936              :                                 default:;
   11937              :                                 }
   11938              :                             }
   11939              :                           break;
   11940              :                         }
   11941              :                       default:;
   11942              :                       }
   11943              :                     break;
   11944              :                   }
   11945              :                 default:;
   11946              :                 }
   11947              :               break;
   11948              :             }
   11949      1760203 :           default:;
   11950              :           }
   11951      1760203 :         switch (TREE_CODE (_q21))
   11952              :           {
   11953       368451 :           case INTEGER_CST:
   11954       368451 :             {
   11955       368451 :               switch (TREE_CODE (_p1))
   11956              :                 {
   11957         1120 :                 CASE_CONVERT:
   11958         1120 :                   {
   11959         1120 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11960         1120 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11961              :                       {
   11962           36 :                         switch (TREE_CODE (_p2))
   11963              :                           {
   11964            5 :                           case INTEGER_CST:
   11965            5 :                             {
   11966            5 :                               {
   11967            5 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   11968            5 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11969            5 :                                 if (res) return res;
   11970              :                               }
   11971            5 :                               break;
   11972              :                             }
   11973              :                           default:;
   11974              :                           }
   11975              :                       }
   11976              :                     break;
   11977              :                   }
   11978       368451 :                 default:;
   11979              :                 }
   11980       368451 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11981              :                 {
   11982           81 :                   switch (TREE_CODE (_p2))
   11983              :                     {
   11984            8 :                     case INTEGER_CST:
   11985            8 :                       {
   11986            8 :                         {
   11987            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   11988            8 :                           tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   11989            8 :                           if (res) return res;
   11990              :                         }
   11991            0 :                         break;
   11992              :                       }
   11993              :                     default:;
   11994              :                     }
   11995              :                 }
   11996       368443 :               switch (TREE_CODE (_p1))
   11997              :                 {
   11998         9142 :                 case PLUS_EXPR:
   11999         9142 :                   {
   12000         9142 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12001         9142 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12002         9142 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12003              :                       {
   12004         9107 :                         switch (TREE_CODE (_q51))
   12005              :                           {
   12006         9107 :                           case INTEGER_CST:
   12007         9107 :                             {
   12008         9107 :                               switch (TREE_CODE (_p2))
   12009              :                                 {
   12010           36 :                                 case INTEGER_CST:
   12011           36 :                                   {
   12012           36 :                                     {
   12013           36 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12014           36 :                                       tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12015           36 :                                       if (res) return res;
   12016              :                                     }
   12017           36 :                                     break;
   12018              :                                   }
   12019              :                                 default:;
   12020              :                                 }
   12021              :                               break;
   12022              :                             }
   12023              :                           default:;
   12024              :                           }
   12025              :                       }
   12026              :                     break;
   12027              :                   }
   12028           62 :                 case MINUS_EXPR:
   12029           62 :                   {
   12030           62 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12031           62 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12032           62 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12033              :                       {
   12034            0 :                         switch (TREE_CODE (_q51))
   12035              :                           {
   12036            0 :                           case INTEGER_CST:
   12037            0 :                             {
   12038            0 :                               switch (TREE_CODE (_p2))
   12039              :                                 {
   12040            0 :                                 case INTEGER_CST:
   12041            0 :                                   {
   12042            0 :                                     {
   12043            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12044            0 :                                       tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12045            0 :                                       if (res) return res;
   12046              :                                     }
   12047            0 :                                     break;
   12048              :                                   }
   12049              :                                 default:;
   12050              :                                 }
   12051              :                               break;
   12052              :                             }
   12053              :                           default:;
   12054              :                           }
   12055              :                       }
   12056              :                     break;
   12057              :                   }
   12058              :                 default:;
   12059              :                 }
   12060              :               break;
   12061              :             }
   12062      1760195 :           default:;
   12063              :           }
   12064      1760195 :         switch (TREE_CODE (_p1))
   12065              :           {
   12066            0 :           case MIN_EXPR:
   12067            0 :             {
   12068            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12069            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12070            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12071              :                 {
   12072            0 :                   switch (TREE_CODE (_p2))
   12073              :                     {
   12074            0 :                     case MIN_EXPR:
   12075            0 :                       {
   12076            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12077            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12078            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12079              :                           {
   12080            0 :                             {
   12081            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12082            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12083            0 :                               if (res) return res;
   12084              :                             }
   12085              :                           }
   12086            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12087              :                           {
   12088            0 :                             {
   12089            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12090            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12091            0 :                               if (res) return res;
   12092              :                             }
   12093              :                           }
   12094              :                         break;
   12095              :                       }
   12096              :                     default:;
   12097              :                     }
   12098              :                 }
   12099            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12100              :                 {
   12101            0 :                   switch (TREE_CODE (_p2))
   12102              :                     {
   12103            0 :                     case MIN_EXPR:
   12104            0 :                       {
   12105            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12106            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12107            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12108              :                           {
   12109            0 :                             {
   12110            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12111            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12112            0 :                               if (res) return res;
   12113              :                             }
   12114              :                           }
   12115            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12116              :                           {
   12117            0 :                             {
   12118            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12119            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12120            0 :                               if (res) return res;
   12121              :                             }
   12122              :                           }
   12123              :                         break;
   12124              :                       }
   12125              :                     default:;
   12126              :                     }
   12127              :                 }
   12128            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12129              :                 {
   12130            0 :                   switch (TREE_CODE (_p2))
   12131              :                     {
   12132            0 :                     case MIN_EXPR:
   12133            0 :                       {
   12134            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12135            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12136            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12137              :                           {
   12138            0 :                             {
   12139            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12140            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12141            0 :                               if (res) return res;
   12142              :                             }
   12143              :                           }
   12144            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12145              :                           {
   12146            0 :                             {
   12147            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12148            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12149            0 :                               if (res) return res;
   12150              :                             }
   12151              :                           }
   12152              :                         break;
   12153              :                       }
   12154            0 :                     default:;
   12155              :                     }
   12156            0 :                   {
   12157            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   12158            0 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12159            0 :                     if (res) return res;
   12160              :                   }
   12161              :                 }
   12162            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12163              :                 {
   12164            0 :                   switch (TREE_CODE (_p2))
   12165              :                     {
   12166            0 :                     case MIN_EXPR:
   12167            0 :                       {
   12168            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12169            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12170            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12171              :                           {
   12172            0 :                             {
   12173            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12174            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12175            0 :                               if (res) return res;
   12176              :                             }
   12177              :                           }
   12178            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12179              :                           {
   12180            0 :                             {
   12181            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12182            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12183            0 :                               if (res) return res;
   12184              :                             }
   12185              :                           }
   12186              :                         break;
   12187              :                       }
   12188            0 :                     default:;
   12189              :                     }
   12190            0 :                   {
   12191            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   12192            0 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12193            0 :                     if (res) return res;
   12194              :                   }
   12195              :                 }
   12196              :               break;
   12197              :             }
   12198           21 :           case MAX_EXPR:
   12199           21 :             {
   12200           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12201           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12202           21 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12203              :                 {
   12204            1 :                   switch (TREE_CODE (_p2))
   12205              :                     {
   12206            0 :                     case MAX_EXPR:
   12207            0 :                       {
   12208            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12209            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12210            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12211              :                           {
   12212            0 :                             {
   12213            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12214            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12215            0 :                               if (res) return res;
   12216              :                             }
   12217              :                           }
   12218            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12219              :                           {
   12220            0 :                             {
   12221            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12222            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12223            0 :                               if (res) return res;
   12224              :                             }
   12225              :                           }
   12226              :                         break;
   12227              :                       }
   12228            1 :                     default:;
   12229              :                     }
   12230            1 :                   {
   12231            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   12232            1 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12233            1 :                     if (res) return res;
   12234              :                   }
   12235              :                 }
   12236           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12237              :                 {
   12238            4 :                   switch (TREE_CODE (_p2))
   12239              :                     {
   12240            0 :                     case MAX_EXPR:
   12241            0 :                       {
   12242            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12243            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12244            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12245              :                           {
   12246            0 :                             {
   12247            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12248            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12249            0 :                               if (res) return res;
   12250              :                             }
   12251              :                           }
   12252            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12253              :                           {
   12254            0 :                             {
   12255            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12256            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12257            0 :                               if (res) return res;
   12258              :                             }
   12259              :                           }
   12260              :                         break;
   12261              :                       }
   12262              :                     default:;
   12263              :                     }
   12264              :                 }
   12265           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12266              :                 {
   12267            8 :                   switch (TREE_CODE (_p2))
   12268              :                     {
   12269            0 :                     case MAX_EXPR:
   12270            0 :                       {
   12271            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12272            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12273            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12274              :                           {
   12275            0 :                             {
   12276            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12277            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12278            0 :                               if (res) return res;
   12279              :                             }
   12280              :                           }
   12281            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12282              :                           {
   12283            0 :                             {
   12284            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12285            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12286            0 :                               if (res) return res;
   12287              :                             }
   12288              :                           }
   12289              :                         break;
   12290              :                       }
   12291              :                     default:;
   12292              :                     }
   12293              :                 }
   12294           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12295              :                 {
   12296            1 :                   switch (TREE_CODE (_p2))
   12297              :                     {
   12298            1 :                     case MAX_EXPR:
   12299            1 :                       {
   12300            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12301            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12302            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12303              :                           {
   12304            0 :                             {
   12305            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12306            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12307            0 :                               if (res) return res;
   12308              :                             }
   12309              :                           }
   12310            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12311              :                           {
   12312            1 :                             {
   12313            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12314            1 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12315            1 :                               if (res) return res;
   12316              :                             }
   12317              :                           }
   12318              :                         break;
   12319              :                       }
   12320              :                     default:;
   12321              :                     }
   12322              :                 }
   12323           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12324              :                 {
   12325            4 :                   {
   12326            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   12327            4 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12328            4 :                     if (res) return res;
   12329              :                   }
   12330              :                 }
   12331              :               break;
   12332              :             }
   12333      1760193 :           default:;
   12334              :           }
   12335      1760193 :         {
   12336      1760193 :           tree _q20_pops[1];
   12337      1760193 :           if (tree_nop_convert (_q20, _q20_pops))
   12338              :             {
   12339        47904 :               tree _q30 = _q20_pops[0];
   12340        47904 :               if (integer_zerop (_q21))
   12341              :                 {
   12342         7920 :                   switch (TREE_CODE (_p1))
   12343              :                     {
   12344            0 :                     case MIN_EXPR:
   12345            0 :                       {
   12346            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   12347            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   12348            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12349              :                           {
   12350            0 :                             switch (TREE_CODE (_q61))
   12351              :                               {
   12352            0 :                               case INTEGER_CST:
   12353            0 :                                 {
   12354            0 :                                   switch (TREE_CODE (_p2))
   12355              :                                     {
   12356            0 :                                     case INTEGER_CST:
   12357            0 :                                       {
   12358            0 :                                         {
   12359            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   12360            0 :                                           tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12361            0 :                                           if (res) return res;
   12362              :                                         }
   12363            0 :                                         break;
   12364              :                                       }
   12365              :                                     default:;
   12366              :                                     }
   12367              :                                   break;
   12368              :                                 }
   12369              :                               default:;
   12370              :                               }
   12371              :                           }
   12372              :                         break;
   12373              :                       }
   12374              :                     default:;
   12375              :                     }
   12376              :                 }
   12377              :             }
   12378              :         }
   12379      1760193 :         if (integer_zerop (_q21))
   12380              :           {
   12381       322793 :             if (tree_expr_nonnegative_p (_p1))
   12382              :               {
   12383       290627 :                 switch (TREE_CODE (_p2))
   12384              :                   {
   12385           17 :                   case MIN_EXPR:
   12386           17 :                     {
   12387           17 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12388           17 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   12389           17 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12390              :                         {
   12391           16 :                           if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   12392              :                             {
   12393            9 :                               {
   12394            9 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12395            9 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures);
   12396            9 :                                 if (res) return res;
   12397              :                               }
   12398              :                             }
   12399              :                         }
   12400            8 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12401              :                         {
   12402            0 :                           if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   12403              :                             {
   12404            0 :                               {
   12405            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12406            0 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures);
   12407            0 :                                 if (res) return res;
   12408              :                               }
   12409              :                             }
   12410              :                         }
   12411              :                       break;
   12412              :                     }
   12413              :                   default:;
   12414              :                   }
   12415              :               }
   12416              :           }
   12417      1760184 :         if (tree_expr_nonnegative_p (_q20))
   12418              :           {
   12419       490463 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   12420              :               {
   12421          166 :                 switch (TREE_CODE (_p2))
   12422              :                   {
   12423            5 :                   case ABS_EXPR:
   12424            5 :                     {
   12425            5 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12426            5 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   12427              :                         {
   12428            0 :                           {
   12429            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   12430            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   12431            0 :                             if (res) return res;
   12432              :                           }
   12433              :                         }
   12434              :                       break;
   12435              :                     }
   12436              :                   default:;
   12437              :                   }
   12438              :               }
   12439       490463 :             switch (TREE_CODE (_p1))
   12440              :               {
   12441            0 :               case ABS_EXPR:
   12442            0 :                 {
   12443            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   12444            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12445              :                     {
   12446            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12447              :                         {
   12448            0 :                           {
   12449            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   12450            0 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   12451            0 :                             if (res) return res;
   12452              :                           }
   12453              :                         }
   12454              :                     }
   12455              :                   break;
   12456              :                 }
   12457              :               default:;
   12458              :               }
   12459              :           }
   12460              :         break;
   12461              :       }
   12462       551945 :     case GE_EXPR:
   12463       551945 :       {
   12464       551945 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12465       551945 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12466       551945 :         switch (TREE_CODE (_q20))
   12467              :           {
   12468        38144 :           case MINUS_EXPR:
   12469        38144 :             {
   12470        38144 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12471        38144 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12472        38144 :               switch (TREE_CODE (_q30))
   12473              :                 {
   12474          528 :                 case SSA_NAME:
   12475          528 :                   {
   12476          528 :                     switch (TREE_CODE (_q31))
   12477              :                       {
   12478            0 :                       case CALL_EXPR:
   12479            0 :                         switch (get_call_combined_fn (_q31))
   12480              :                           {
   12481            0 :                           case CFN_BUILT_IN_FLOORF:
   12482            0 :                             if (call_expr_nargs (_q31) == 1)
   12483              :     {
   12484            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12485            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12486              :                                   {
   12487            0 :                                     switch (TREE_CODE (_q50))
   12488              :                                       {
   12489            0 :                                       case SSA_NAME:
   12490            0 :                                         {
   12491            0 :                                           switch (TREE_CODE (_q21))
   12492              :                                             {
   12493            0 :                                             case MINUS_EXPR:
   12494            0 :                                               {
   12495            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12496            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12497            0 :                                                 switch (TREE_CODE (_q80))
   12498              :                                                   {
   12499            0 :                                                   case CALL_EXPR:
   12500            0 :                                                     switch (get_call_combined_fn (_q80))
   12501              :                                                       {
   12502            0 :                                                       case CFN_BUILT_IN_CEILF:
   12503            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12504              :     {
   12505            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12506            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12507              :                                                               {
   12508            0 :                                                                 switch (TREE_CODE (_q90))
   12509              :                                                                   {
   12510            0 :                                                                   case SSA_NAME:
   12511            0 :                                                                     {
   12512            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12513              :                                                                         {
   12514            0 :                                                                           switch (TREE_CODE (_q81))
   12515              :                                                                             {
   12516            0 :                                                                             case SSA_NAME:
   12517            0 :                                                                               {
   12518            0 :                                                                                 switch (TREE_CODE (_p1))
   12519              :                                                                                   {
   12520            0 :                                                                                   case CALL_EXPR:
   12521            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12522              :                                                                                       {
   12523            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   12524            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12525              :     {
   12526            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12527            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12528              :                                                                                               {
   12529            0 :                                                                                                 switch (TREE_CODE (_q140))
   12530              :                                                                                                   {
   12531            0 :                                                                                                   case SSA_NAME:
   12532            0 :                                                                                                     {
   12533            0 :                                                                                                       switch (TREE_CODE (_p2))
   12534              :                                                                                                         {
   12535            0 :                                                                                                         case CALL_EXPR:
   12536            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12537              :                                                                                                             {
   12538            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   12539            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12540              :     {
   12541            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12542            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12543              :                                                                                                                     {
   12544            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12545              :                                                                                                                         {
   12546            0 :                                                                                                                         case SSA_NAME:
   12547            0 :                                                                                                                           {
   12548            0 :                                                                                                                             {
   12549            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12550            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   12551            0 :                                                                                                                               if (res) return res;
   12552              :                                                                                                                             }
   12553            0 :                                                                                                                             break;
   12554              :                                                                                                                           }
   12555              :                                                                                                                         default:;
   12556              :                                                                                                                         }
   12557              :                                                                                                                     }
   12558              :                                                                                                                 }
   12559              :                                                                                                               break;
   12560              :                                                                                                             default:;
   12561              :                                                                                                             }
   12562              :                                                                                                           break;
   12563              :                                                                                                         default:;
   12564              :                                                                                                         }
   12565              :                                                                                                       break;
   12566              :                                                                                                     }
   12567              :                                                                                                   default:;
   12568              :                                                                                                   }
   12569              :                                                                                               }
   12570              :                                                                                           }
   12571              :                                                                                         break;
   12572              :                                                                                       default:;
   12573              :                                                                                       }
   12574              :                                                                                     break;
   12575              :                                                                                   default:;
   12576              :                                                                                   }
   12577              :                                                                                 break;
   12578              :                                                                               }
   12579              :                                                                             default:;
   12580              :                                                                             }
   12581              :                                                                         }
   12582              :                                                                       break;
   12583              :                                                                     }
   12584              :                                                                   default:;
   12585              :                                                                   }
   12586              :                                                               }
   12587              :                                                           }
   12588              :                                                         break;
   12589              :                                                       default:;
   12590              :                                                       }
   12591              :                                                     break;
   12592              :                                                   default:;
   12593              :                                                   }
   12594              :                                                 break;
   12595              :                                               }
   12596              :                                             default:;
   12597              :                                             }
   12598              :                                           break;
   12599              :                                         }
   12600              :                                       default:;
   12601              :                                       }
   12602              :                                   }
   12603              :                               }
   12604              :                             break;
   12605            0 :                           case CFN_BUILT_IN_FLOORL:
   12606            0 :                             if (call_expr_nargs (_q31) == 1)
   12607              :     {
   12608            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12609            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12610              :                                   {
   12611            0 :                                     switch (TREE_CODE (_q50))
   12612              :                                       {
   12613            0 :                                       case SSA_NAME:
   12614            0 :                                         {
   12615            0 :                                           switch (TREE_CODE (_q21))
   12616              :                                             {
   12617            0 :                                             case MINUS_EXPR:
   12618            0 :                                               {
   12619            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12620            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12621            0 :                                                 switch (TREE_CODE (_q80))
   12622              :                                                   {
   12623            0 :                                                   case CALL_EXPR:
   12624            0 :                                                     switch (get_call_combined_fn (_q80))
   12625              :                                                       {
   12626            0 :                                                       case CFN_BUILT_IN_CEILL:
   12627            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12628              :     {
   12629            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12630            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12631              :                                                               {
   12632            0 :                                                                 switch (TREE_CODE (_q90))
   12633              :                                                                   {
   12634            0 :                                                                   case SSA_NAME:
   12635            0 :                                                                     {
   12636            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12637              :                                                                         {
   12638            0 :                                                                           switch (TREE_CODE (_q81))
   12639              :                                                                             {
   12640            0 :                                                                             case SSA_NAME:
   12641            0 :                                                                               {
   12642            0 :                                                                                 switch (TREE_CODE (_p1))
   12643              :                                                                                   {
   12644            0 :                                                                                   case CALL_EXPR:
   12645            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12646              :                                                                                       {
   12647            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   12648            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12649              :     {
   12650            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12651            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12652              :                                                                                               {
   12653            0 :                                                                                                 switch (TREE_CODE (_q140))
   12654              :                                                                                                   {
   12655            0 :                                                                                                   case SSA_NAME:
   12656            0 :                                                                                                     {
   12657            0 :                                                                                                       switch (TREE_CODE (_p2))
   12658              :                                                                                                         {
   12659            0 :                                                                                                         case CALL_EXPR:
   12660            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12661              :                                                                                                             {
   12662            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   12663            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12664              :     {
   12665            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12666            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12667              :                                                                                                                     {
   12668            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12669              :                                                                                                                         {
   12670            0 :                                                                                                                         case SSA_NAME:
   12671            0 :                                                                                                                           {
   12672            0 :                                                                                                                             {
   12673            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12674            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   12675            0 :                                                                                                                               if (res) return res;
   12676              :                                                                                                                             }
   12677            0 :                                                                                                                             break;
   12678              :                                                                                                                           }
   12679              :                                                                                                                         default:;
   12680              :                                                                                                                         }
   12681              :                                                                                                                     }
   12682              :                                                                                                                 }
   12683              :                                                                                                               break;
   12684              :                                                                                                             default:;
   12685              :                                                                                                             }
   12686              :                                                                                                           break;
   12687              :                                                                                                         default:;
   12688              :                                                                                                         }
   12689              :                                                                                                       break;
   12690              :                                                                                                     }
   12691              :                                                                                                   default:;
   12692              :                                                                                                   }
   12693              :                                                                                               }
   12694              :                                                                                           }
   12695              :                                                                                         break;
   12696              :                                                                                       default:;
   12697              :                                                                                       }
   12698              :                                                                                     break;
   12699              :                                                                                   default:;
   12700              :                                                                                   }
   12701              :                                                                                 break;
   12702              :                                                                               }
   12703              :                                                                             default:;
   12704              :                                                                             }
   12705              :                                                                         }
   12706              :                                                                       break;
   12707              :                                                                     }
   12708              :                                                                   default:;
   12709              :                                                                   }
   12710              :                                                               }
   12711              :                                                           }
   12712              :                                                         break;
   12713              :                                                       default:;
   12714              :                                                       }
   12715              :                                                     break;
   12716              :                                                   default:;
   12717              :                                                   }
   12718              :                                                 break;
   12719              :                                               }
   12720              :                                             default:;
   12721              :                                             }
   12722              :                                           break;
   12723              :                                         }
   12724              :                                       default:;
   12725              :                                       }
   12726              :                                   }
   12727              :                               }
   12728              :                             break;
   12729            0 :                           case CFN_FLOOR:
   12730            0 :                             if (call_expr_nargs (_q31) == 1)
   12731              :     {
   12732            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12733            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12734              :                                   {
   12735            0 :                                     switch (TREE_CODE (_q50))
   12736              :                                       {
   12737            0 :                                       case SSA_NAME:
   12738            0 :                                         {
   12739            0 :                                           switch (TREE_CODE (_q21))
   12740              :                                             {
   12741            0 :                                             case MINUS_EXPR:
   12742            0 :                                               {
   12743            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12744            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12745            0 :                                                 switch (TREE_CODE (_q80))
   12746              :                                                   {
   12747            0 :                                                   case CALL_EXPR:
   12748            0 :                                                     switch (get_call_combined_fn (_q80))
   12749              :                                                       {
   12750            0 :                                                       case CFN_CEIL:
   12751            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12752              :     {
   12753            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12754            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12755              :                                                               {
   12756            0 :                                                                 switch (TREE_CODE (_q90))
   12757              :                                                                   {
   12758            0 :                                                                   case SSA_NAME:
   12759            0 :                                                                     {
   12760            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12761              :                                                                         {
   12762            0 :                                                                           switch (TREE_CODE (_q81))
   12763              :                                                                             {
   12764            0 :                                                                             case SSA_NAME:
   12765            0 :                                                                               {
   12766            0 :                                                                                 switch (TREE_CODE (_p1))
   12767              :                                                                                   {
   12768            0 :                                                                                   case CALL_EXPR:
   12769            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12770              :                                                                                       {
   12771            0 :                                                                                       case CFN_CEIL:
   12772            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12773              :     {
   12774            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12775            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12776              :                                                                                               {
   12777            0 :                                                                                                 switch (TREE_CODE (_q140))
   12778              :                                                                                                   {
   12779            0 :                                                                                                   case SSA_NAME:
   12780            0 :                                                                                                     {
   12781            0 :                                                                                                       switch (TREE_CODE (_p2))
   12782              :                                                                                                         {
   12783            0 :                                                                                                         case CALL_EXPR:
   12784            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12785              :                                                                                                             {
   12786            0 :                                                                                                             case CFN_FLOOR:
   12787            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12788              :     {
   12789            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12790            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12791              :                                                                                                                     {
   12792            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12793              :                                                                                                                         {
   12794            0 :                                                                                                                         case SSA_NAME:
   12795            0 :                                                                                                                           {
   12796            0 :                                                                                                                             {
   12797            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12798            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   12799            0 :                                                                                                                               if (res) return res;
   12800              :                                                                                                                             }
   12801            0 :                                                                                                                             break;
   12802              :                                                                                                                           }
   12803              :                                                                                                                         default:;
   12804              :                                                                                                                         }
   12805              :                                                                                                                     }
   12806              :                                                                                                                 }
   12807              :                                                                                                               break;
   12808              :                                                                                                             default:;
   12809              :                                                                                                             }
   12810              :                                                                                                           break;
   12811              :                                                                                                         default:;
   12812              :                                                                                                         }
   12813              :                                                                                                       break;
   12814              :                                                                                                     }
   12815              :                                                                                                   default:;
   12816              :                                                                                                   }
   12817              :                                                                                               }
   12818              :                                                                                           }
   12819              :                                                                                         break;
   12820              :                                                                                       default:;
   12821              :                                                                                       }
   12822              :                                                                                     break;
   12823              :                                                                                   default:;
   12824              :                                                                                   }
   12825              :                                                                                 break;
   12826              :                                                                               }
   12827              :                                                                             default:;
   12828              :                                                                             }
   12829              :                                                                         }
   12830              :                                                                       break;
   12831              :                                                                     }
   12832              :                                                                   default:;
   12833              :                                                                   }
   12834              :                                                               }
   12835              :                                                           }
   12836              :                                                         break;
   12837              :                                                       default:;
   12838              :                                                       }
   12839              :                                                     break;
   12840              :                                                   default:;
   12841              :                                                   }
   12842              :                                                 break;
   12843              :                                               }
   12844              :                                             default:;
   12845              :                                             }
   12846              :                                           break;
   12847              :                                         }
   12848              :                                       default:;
   12849              :                                       }
   12850              :                                   }
   12851              :                               }
   12852              :                             break;
   12853            0 :                           case CFN_BUILT_IN_FLOOR:
   12854            0 :                             if (call_expr_nargs (_q31) == 1)
   12855              :     {
   12856            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12857            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12858              :                                   {
   12859            0 :                                     switch (TREE_CODE (_q50))
   12860              :                                       {
   12861            0 :                                       case SSA_NAME:
   12862            0 :                                         {
   12863            0 :                                           switch (TREE_CODE (_q21))
   12864              :                                             {
   12865            0 :                                             case MINUS_EXPR:
   12866            0 :                                               {
   12867            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12868            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12869            0 :                                                 switch (TREE_CODE (_q80))
   12870              :                                                   {
   12871            0 :                                                   case CALL_EXPR:
   12872            0 :                                                     switch (get_call_combined_fn (_q80))
   12873              :                                                       {
   12874            0 :                                                       case CFN_BUILT_IN_CEIL:
   12875            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12876              :     {
   12877            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12878            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12879              :                                                               {
   12880            0 :                                                                 switch (TREE_CODE (_q90))
   12881              :                                                                   {
   12882            0 :                                                                   case SSA_NAME:
   12883            0 :                                                                     {
   12884            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12885              :                                                                         {
   12886            0 :                                                                           switch (TREE_CODE (_q81))
   12887              :                                                                             {
   12888            0 :                                                                             case SSA_NAME:
   12889            0 :                                                                               {
   12890            0 :                                                                                 switch (TREE_CODE (_p1))
   12891              :                                                                                   {
   12892            0 :                                                                                   case CALL_EXPR:
   12893            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12894              :                                                                                       {
   12895            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   12896            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12897              :     {
   12898            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12899            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12900              :                                                                                               {
   12901            0 :                                                                                                 switch (TREE_CODE (_q140))
   12902              :                                                                                                   {
   12903            0 :                                                                                                   case SSA_NAME:
   12904            0 :                                                                                                     {
   12905            0 :                                                                                                       switch (TREE_CODE (_p2))
   12906              :                                                                                                         {
   12907            0 :                                                                                                         case CALL_EXPR:
   12908            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12909              :                                                                                                             {
   12910            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   12911            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12912              :     {
   12913            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12914            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12915              :                                                                                                                     {
   12916            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12917              :                                                                                                                         {
   12918            0 :                                                                                                                         case SSA_NAME:
   12919            0 :                                                                                                                           {
   12920            0 :                                                                                                                             {
   12921            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12922            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   12923            0 :                                                                                                                               if (res) return res;
   12924              :                                                                                                                             }
   12925            0 :                                                                                                                             break;
   12926              :                                                                                                                           }
   12927              :                                                                                                                         default:;
   12928              :                                                                                                                         }
   12929              :                                                                                                                     }
   12930              :                                                                                                                 }
   12931              :                                                                                                               break;
   12932              :                                                                                                             default:;
   12933              :                                                                                                             }
   12934              :                                                                                                           break;
   12935              :                                                                                                         default:;
   12936              :                                                                                                         }
   12937              :                                                                                                       break;
   12938              :                                                                                                     }
   12939              :                                                                                                   default:;
   12940              :                                                                                                   }
   12941              :                                                                                               }
   12942              :                                                                                           }
   12943              :                                                                                         break;
   12944              :                                                                                       default:;
   12945              :                                                                                       }
   12946              :                                                                                     break;
   12947              :                                                                                   default:;
   12948              :                                                                                   }
   12949              :                                                                                 break;
   12950              :                                                                               }
   12951              :                                                                             default:;
   12952              :                                                                             }
   12953              :                                                                         }
   12954              :                                                                       break;
   12955              :                                                                     }
   12956              :                                                                   default:;
   12957              :                                                                   }
   12958              :                                                               }
   12959              :                                                           }
   12960              :                                                         break;
   12961              :                                                       default:;
   12962              :                                                       }
   12963              :                                                     break;
   12964              :                                                   default:;
   12965              :                                                   }
   12966              :                                                 break;
   12967              :                                               }
   12968              :                                             default:;
   12969              :                                             }
   12970              :                                           break;
   12971              :                                         }
   12972              :                                       default:;
   12973              :                                       }
   12974              :                                   }
   12975              :                               }
   12976              :                             break;
   12977              :                           default:;
   12978              :                           }
   12979              :                         break;
   12980              :                       default:;
   12981              :                       }
   12982              :                     break;
   12983              :                   }
   12984              :                 default:;
   12985              :                 }
   12986              :               break;
   12987              :             }
   12988       551945 :           default:;
   12989              :           }
   12990       551945 :         switch (TREE_CODE (_p1))
   12991              :           {
   12992            0 :           case BIT_IOR_EXPR:
   12993            0 :             {
   12994            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12995            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12996            0 :               switch (TREE_CODE (_q51))
   12997              :                 {
   12998            0 :                 case INTEGER_CST:
   12999            0 :                   {
   13000            0 :                     switch (TREE_CODE (_p2))
   13001              :                       {
   13002            0 :                       case BIT_AND_EXPR:
   13003            0 :                         {
   13004            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   13005            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   13006            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13007              :                             {
   13008            0 :                               switch (TREE_CODE (_q81))
   13009              :                                 {
   13010            0 :                                 case INTEGER_CST:
   13011            0 :                                   {
   13012            0 :                                     {
   13013            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   13014            0 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13015            0 :                                       if (res) return res;
   13016              :                                     }
   13017            0 :                                     break;
   13018              :                                   }
   13019              :                                 default:;
   13020              :                                 }
   13021              :                             }
   13022              :                           break;
   13023              :                         }
   13024              :                       default:;
   13025              :                       }
   13026              :                     break;
   13027              :                   }
   13028              :                 default:;
   13029              :                 }
   13030              :               break;
   13031              :             }
   13032       551945 :           default:;
   13033              :           }
   13034       551945 :         switch (TREE_CODE (_q20))
   13035              :           {
   13036        56129 :           CASE_CONVERT:
   13037        56129 :             {
   13038        56129 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13039        56129 :               switch (TREE_CODE (_q21))
   13040              :                 {
   13041        26899 :                 case INTEGER_CST:
   13042        26899 :                   {
   13043        26899 :                     switch (TREE_CODE (_p1))
   13044              :                       {
   13045        10283 :                       CASE_CONVERT:
   13046        10283 :                         {
   13047        10283 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13048        10283 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13049              :                             {
   13050         6198 :                               switch (TREE_CODE (_p2))
   13051              :                                 {
   13052         6190 :                                 case INTEGER_CST:
   13053         6190 :                                   {
   13054         6190 :                                     {
   13055         6190 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13056         6190 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13057         6190 :                                       if (res) return res;
   13058              :                                     }
   13059         6190 :                                     break;
   13060              :                                   }
   13061              :                                 default:;
   13062              :                                 }
   13063              :                             }
   13064              :                           break;
   13065              :                         }
   13066        26899 :                       default:;
   13067              :                       }
   13068        26899 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   13069              :                       {
   13070          312 :                         switch (TREE_CODE (_p2))
   13071              :                           {
   13072          299 :                           case INTEGER_CST:
   13073          299 :                             {
   13074          299 :                               {
   13075          299 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13076          299 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13077          299 :                                 if (res) return res;
   13078              :                               }
   13079          294 :                               break;
   13080              :                             }
   13081              :                           default:;
   13082              :                           }
   13083              :                       }
   13084        26894 :                     switch (TREE_CODE (_p1))
   13085              :                       {
   13086          385 :                       case PLUS_EXPR:
   13087          385 :                         {
   13088          385 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13089          385 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13090          385 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13091              :                             {
   13092            0 :                               switch (TREE_CODE (_q61))
   13093              :                                 {
   13094            0 :                                 case INTEGER_CST:
   13095            0 :                                   {
   13096            0 :                                     switch (TREE_CODE (_p2))
   13097              :                                       {
   13098            0 :                                       case INTEGER_CST:
   13099            0 :                                         {
   13100            0 :                                           {
   13101            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13102            0 :                                             tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13103            0 :                                             if (res) return res;
   13104              :                                           }
   13105            0 :                                           break;
   13106              :                                         }
   13107              :                                       default:;
   13108              :                                       }
   13109              :                                     break;
   13110              :                                   }
   13111              :                                 default:;
   13112              :                                 }
   13113              :                             }
   13114              :                           break;
   13115              :                         }
   13116           76 :                       case MINUS_EXPR:
   13117           76 :                         {
   13118           76 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13119           76 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13120           76 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13121              :                             {
   13122            0 :                               switch (TREE_CODE (_q61))
   13123              :                                 {
   13124            0 :                                 case INTEGER_CST:
   13125            0 :                                   {
   13126            0 :                                     switch (TREE_CODE (_p2))
   13127              :                                       {
   13128            0 :                                       case INTEGER_CST:
   13129            0 :                                         {
   13130            0 :                                           {
   13131            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13132            0 :                                             tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13133            0 :                                             if (res) return res;
   13134              :                                           }
   13135            0 :                                           break;
   13136              :                                         }
   13137              :                                       default:;
   13138              :                                       }
   13139              :                                     break;
   13140              :                                   }
   13141              :                                 default:;
   13142              :                                 }
   13143              :                             }
   13144              :                           break;
   13145              :                         }
   13146              :                       default:;
   13147              :                       }
   13148              :                     break;
   13149              :                   }
   13150              :                 default:;
   13151              :                 }
   13152              :               break;
   13153              :             }
   13154       551940 :           default:;
   13155              :           }
   13156       551940 :         switch (TREE_CODE (_q21))
   13157              :           {
   13158       205395 :           case INTEGER_CST:
   13159       205395 :             {
   13160       205395 :               switch (TREE_CODE (_p1))
   13161              :                 {
   13162        54553 :                 CASE_CONVERT:
   13163        54553 :                   {
   13164        54553 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13165        54553 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13166              :                       {
   13167          150 :                         switch (TREE_CODE (_p2))
   13168              :                           {
   13169           45 :                           case INTEGER_CST:
   13170           45 :                             {
   13171           45 :                               {
   13172           45 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13173           45 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13174           45 :                                 if (res) return res;
   13175              :                               }
   13176           45 :                               break;
   13177              :                             }
   13178              :                           default:;
   13179              :                           }
   13180              :                       }
   13181              :                     break;
   13182              :                   }
   13183       205395 :                 default:;
   13184              :                 }
   13185       205395 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13186              :                 {
   13187        41123 :                   switch (TREE_CODE (_p2))
   13188              :                     {
   13189        10649 :                     case INTEGER_CST:
   13190        10649 :                       {
   13191        10649 :                         {
   13192        10649 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13193        10649 :                           tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13194        10649 :                           if (res) return res;
   13195              :                         }
   13196           15 :                         break;
   13197              :                       }
   13198              :                     default:;
   13199              :                     }
   13200              :                 }
   13201       194761 :               switch (TREE_CODE (_p1))
   13202              :                 {
   13203        16869 :                 case PLUS_EXPR:
   13204        16869 :                   {
   13205        16869 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13206        16869 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13207        16869 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13208              :                       {
   13209         6477 :                         switch (TREE_CODE (_q51))
   13210              :                           {
   13211         6477 :                           case INTEGER_CST:
   13212         6477 :                             {
   13213         6477 :                               switch (TREE_CODE (_p2))
   13214              :                                 {
   13215         6477 :                                 case INTEGER_CST:
   13216         6477 :                                   {
   13217         6477 :                                     {
   13218         6477 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13219         6477 :                                       tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13220         6477 :                                       if (res) return res;
   13221              :                                     }
   13222            0 :                                     break;
   13223              :                                   }
   13224              :                                 default:;
   13225              :                                 }
   13226              :                               break;
   13227              :                             }
   13228              :                           default:;
   13229              :                           }
   13230              :                       }
   13231              :                     break;
   13232              :                   }
   13233          226 :                 case MINUS_EXPR:
   13234          226 :                   {
   13235          226 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13236          226 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13237          226 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13238              :                       {
   13239            0 :                         switch (TREE_CODE (_q51))
   13240              :                           {
   13241            0 :                           case INTEGER_CST:
   13242            0 :                             {
   13243            0 :                               switch (TREE_CODE (_p2))
   13244              :                                 {
   13245            0 :                                 case INTEGER_CST:
   13246            0 :                                   {
   13247            0 :                                     {
   13248            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13249            0 :                                       tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13250            0 :                                       if (res) return res;
   13251              :                                     }
   13252            0 :                                     break;
   13253              :                                   }
   13254              :                                 default:;
   13255              :                                 }
   13256              :                               break;
   13257              :                             }
   13258              :                           default:;
   13259              :                           }
   13260              :                       }
   13261              :                     break;
   13262              :                   }
   13263              :                 default:;
   13264              :                 }
   13265              :               break;
   13266              :             }
   13267       534829 :           default:;
   13268              :           }
   13269       534829 :         switch (TREE_CODE (_p1))
   13270              :           {
   13271           16 :           case MIN_EXPR:
   13272           16 :             {
   13273           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13274           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13275           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13276              :                 {
   13277           15 :                   switch (TREE_CODE (_p2))
   13278              :                     {
   13279            0 :                     case MIN_EXPR:
   13280            0 :                       {
   13281            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13282            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13283            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13284              :                           {
   13285            0 :                             {
   13286            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13287            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13288            0 :                               if (res) return res;
   13289              :                             }
   13290              :                           }
   13291            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13292              :                           {
   13293            0 :                             {
   13294            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13295            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13296            0 :                               if (res) return res;
   13297              :                             }
   13298              :                           }
   13299              :                         break;
   13300              :                       }
   13301           15 :                     default:;
   13302              :                     }
   13303           15 :                   {
   13304           15 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   13305           15 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13306           15 :                     if (res) return res;
   13307              :                   }
   13308              :                 }
   13309            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13310              :                 {
   13311            0 :                   switch (TREE_CODE (_p2))
   13312              :                     {
   13313            0 :                     case MIN_EXPR:
   13314            0 :                       {
   13315            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13316            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13317            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13318              :                           {
   13319            0 :                             {
   13320            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13321            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13322            0 :                               if (res) return res;
   13323              :                             }
   13324              :                           }
   13325            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13326              :                           {
   13327            0 :                             {
   13328            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13329            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13330            0 :                               if (res) return res;
   13331              :                             }
   13332              :                           }
   13333              :                         break;
   13334              :                       }
   13335              :                     default:;
   13336              :                     }
   13337              :                 }
   13338            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13339              :                 {
   13340            0 :                   switch (TREE_CODE (_p2))
   13341              :                     {
   13342            0 :                     case MIN_EXPR:
   13343            0 :                       {
   13344            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13345            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13346            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13347              :                           {
   13348            0 :                             {
   13349            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13350            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13351            0 :                               if (res) return res;
   13352              :                             }
   13353              :                           }
   13354            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13355              :                           {
   13356            0 :                             {
   13357            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13358            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13359            0 :                               if (res) return res;
   13360              :                             }
   13361              :                           }
   13362              :                         break;
   13363              :                       }
   13364              :                     default:;
   13365              :                     }
   13366              :                 }
   13367            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13368              :                 {
   13369            0 :                   switch (TREE_CODE (_p2))
   13370              :                     {
   13371            0 :                     case MIN_EXPR:
   13372            0 :                       {
   13373            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13374            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13375            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13376              :                           {
   13377            0 :                             {
   13378            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13379            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13380            0 :                               if (res) return res;
   13381              :                             }
   13382              :                           }
   13383            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13384              :                           {
   13385            0 :                             {
   13386            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13387            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13388            0 :                               if (res) return res;
   13389              :                             }
   13390              :                           }
   13391              :                         break;
   13392              :                       }
   13393              :                     default:;
   13394              :                     }
   13395              :                 }
   13396            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13397              :                 {
   13398            0 :                   {
   13399            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   13400            0 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13401            0 :                     if (res) return res;
   13402              :                   }
   13403              :                 }
   13404              :               break;
   13405              :             }
   13406            9 :           case MAX_EXPR:
   13407            9 :             {
   13408            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13409            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13410            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13411              :                 {
   13412            1 :                   switch (TREE_CODE (_p2))
   13413              :                     {
   13414            0 :                     case MAX_EXPR:
   13415            0 :                       {
   13416            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13417            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13418            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13419              :                           {
   13420            0 :                             {
   13421            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13422            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13423            0 :                               if (res) return res;
   13424              :                             }
   13425              :                           }
   13426            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13427              :                           {
   13428            0 :                             {
   13429            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13430            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13431            0 :                               if (res) return res;
   13432              :                             }
   13433              :                           }
   13434              :                         break;
   13435              :                       }
   13436              :                     default:;
   13437              :                     }
   13438              :                 }
   13439            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13440              :                 {
   13441            1 :                   switch (TREE_CODE (_p2))
   13442              :                     {
   13443            0 :                     case MAX_EXPR:
   13444            0 :                       {
   13445            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13446            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13447            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13448              :                           {
   13449            0 :                             {
   13450            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13451            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13452            0 :                               if (res) return res;
   13453              :                             }
   13454              :                           }
   13455            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13456              :                           {
   13457            0 :                             {
   13458            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13459            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13460            0 :                               if (res) return res;
   13461              :                             }
   13462              :                           }
   13463              :                         break;
   13464              :                       }
   13465              :                     default:;
   13466              :                     }
   13467              :                 }
   13468            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13469              :                 {
   13470            1 :                   switch (TREE_CODE (_p2))
   13471              :                     {
   13472            0 :                     case MAX_EXPR:
   13473            0 :                       {
   13474            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13475            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13476            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13477              :                           {
   13478            0 :                             {
   13479            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13480            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13481            0 :                               if (res) return res;
   13482              :                             }
   13483              :                           }
   13484            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13485              :                           {
   13486            0 :                             {
   13487            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13488            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13489            0 :                               if (res) return res;
   13490              :                             }
   13491              :                           }
   13492              :                         break;
   13493              :                       }
   13494            1 :                     default:;
   13495              :                     }
   13496            1 :                   {
   13497            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   13498            1 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13499            1 :                     if (res) return res;
   13500              :                   }
   13501              :                 }
   13502            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13503              :                 {
   13504            8 :                   switch (TREE_CODE (_p2))
   13505              :                     {
   13506            0 :                     case MAX_EXPR:
   13507            0 :                       {
   13508            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13509            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13510            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13511              :                           {
   13512            0 :                             {
   13513            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13514            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13515            0 :                               if (res) return res;
   13516              :                             }
   13517              :                           }
   13518            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13519              :                           {
   13520            0 :                             {
   13521            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13522            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13523            0 :                               if (res) return res;
   13524              :                             }
   13525              :                           }
   13526              :                         break;
   13527              :                       }
   13528            8 :                     default:;
   13529              :                     }
   13530            8 :                   {
   13531            8 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   13532            8 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13533            8 :                     if (res) return res;
   13534              :                   }
   13535              :                 }
   13536              :               break;
   13537              :             }
   13538       534819 :           default:;
   13539              :           }
   13540       534819 :         {
   13541       534819 :           tree _q20_pops[1];
   13542       534819 :           if (tree_nop_convert (_q20, _q20_pops))
   13543              :             {
   13544        22018 :               tree _q30 = _q20_pops[0];
   13545        22018 :               if (integer_zerop (_q21))
   13546              :                 {
   13547        18830 :                   switch (TREE_CODE (_p1))
   13548              :                     {
   13549            0 :                     case MAX_EXPR:
   13550            0 :                       {
   13551            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   13552            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   13553            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13554              :                           {
   13555            0 :                             switch (TREE_CODE (_q61))
   13556              :                               {
   13557            0 :                               case INTEGER_CST:
   13558            0 :                                 {
   13559            0 :                                   switch (TREE_CODE (_p2))
   13560              :                                     {
   13561            0 :                                     case INTEGER_CST:
   13562            0 :                                       {
   13563            0 :                                         {
   13564            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   13565            0 :                                           tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13566            0 :                                           if (res) return res;
   13567              :                                         }
   13568            0 :                                         break;
   13569              :                                       }
   13570              :                                     default:;
   13571              :                                     }
   13572              :                                   break;
   13573              :                                 }
   13574              :                               default:;
   13575              :                               }
   13576              :                           }
   13577              :                         break;
   13578              :                       }
   13579              :                     default:;
   13580              :                     }
   13581              :                 }
   13582              :             }
   13583              :         }
   13584       534819 :         if (tree_expr_nonnegative_p (_q21))
   13585              :           {
   13586       383239 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13587              :               {
   13588        30547 :                 switch (TREE_CODE (_p2))
   13589              :                   {
   13590            0 :                   case ABS_EXPR:
   13591            0 :                     {
   13592            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13593            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13594              :                         {
   13595            0 :                           {
   13596            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13597            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13598            0 :                             if (res) return res;
   13599              :                           }
   13600              :                         }
   13601              :                       break;
   13602              :                     }
   13603              :                   default:;
   13604              :                   }
   13605              :               }
   13606       383239 :             switch (TREE_CODE (_p1))
   13607              :               {
   13608           12 :               case ABS_EXPR:
   13609           12 :                 {
   13610           12 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13611           12 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13612              :                     {
   13613            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   13614              :                         {
   13615            0 :                           {
   13616            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   13617            0 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13618            0 :                             if (res) return res;
   13619              :                           }
   13620              :                         }
   13621              :                     }
   13622              :                   break;
   13623              :                 }
   13624              :               default:;
   13625              :               }
   13626              :           }
   13627              :         break;
   13628              :       }
   13629       900600 :     case GT_EXPR:
   13630       900600 :       {
   13631       900600 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13632       900600 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13633       900600 :         switch (TREE_CODE (_q20))
   13634              :           {
   13635         1052 :           case MINUS_EXPR:
   13636         1052 :             {
   13637         1052 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13638         1052 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13639         1052 :               switch (TREE_CODE (_q30))
   13640              :                 {
   13641            0 :                 case CALL_EXPR:
   13642            0 :                   switch (get_call_combined_fn (_q30))
   13643              :                     {
   13644            0 :                     case CFN_BUILT_IN_CEIL:
   13645            0 :                       if (call_expr_nargs (_q30) == 1)
   13646              :     {
   13647            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13648            0 :                           switch (TREE_CODE (_q40))
   13649              :                             {
   13650            0 :                             case SSA_NAME:
   13651            0 :                               {
   13652            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13653              :                                   {
   13654            0 :                                     switch (TREE_CODE (_q31))
   13655              :                                       {
   13656            0 :                                       case SSA_NAME:
   13657            0 :                                         {
   13658            0 :                                           switch (TREE_CODE (_q21))
   13659              :                                             {
   13660            0 :                                             case MINUS_EXPR:
   13661            0 :                                               {
   13662            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13663            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13664            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13665              :                                                   {
   13666            0 :                                                     switch (TREE_CODE (_q80))
   13667              :                                                       {
   13668            0 :                                                       case SSA_NAME:
   13669            0 :                                                         {
   13670            0 :                                                           switch (TREE_CODE (_q81))
   13671              :                                                             {
   13672            0 :                                                             case CALL_EXPR:
   13673            0 :                                                               switch (get_call_combined_fn (_q81))
   13674              :                                                                 {
   13675            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   13676            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13677              :     {
   13678            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13679            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13680              :                                                                         {
   13681            0 :                                                                           switch (TREE_CODE (_q110))
   13682              :                                                                             {
   13683            0 :                                                                             case SSA_NAME:
   13684            0 :                                                                               {
   13685            0 :                                                                                 switch (TREE_CODE (_p1))
   13686              :                                                                                   {
   13687            0 :                                                                                   case CALL_EXPR:
   13688            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13689              :                                                                                       {
   13690            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   13691            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13692              :     {
   13693            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13694            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13695              :                                                                                               {
   13696            0 :                                                                                                 switch (TREE_CODE (_q140))
   13697              :                                                                                                   {
   13698            0 :                                                                                                   case SSA_NAME:
   13699            0 :                                                                                                     {
   13700            0 :                                                                                                       switch (TREE_CODE (_p2))
   13701              :                                                                                                         {
   13702            0 :                                                                                                         case CALL_EXPR:
   13703            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13704              :                                                                                                             {
   13705            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   13706            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13707              :     {
   13708            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13709            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13710              :                                                                                                                     {
   13711            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13712              :                                                                                                                         {
   13713            0 :                                                                                                                         case SSA_NAME:
   13714            0 :                                                                                                                           {
   13715            0 :                                                                                                                             {
   13716            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13717            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   13718            0 :                                                                                                                               if (res) return res;
   13719              :                                                                                                                             }
   13720            0 :                                                                                                                             break;
   13721              :                                                                                                                           }
   13722              :                                                                                                                         default:;
   13723              :                                                                                                                         }
   13724              :                                                                                                                     }
   13725              :                                                                                                                 }
   13726              :                                                                                                               break;
   13727              :                                                                                                             default:;
   13728              :                                                                                                             }
   13729              :                                                                                                           break;
   13730              :                                                                                                         default:;
   13731              :                                                                                                         }
   13732              :                                                                                                       break;
   13733              :                                                                                                     }
   13734              :                                                                                                   default:;
   13735              :                                                                                                   }
   13736              :                                                                                               }
   13737              :                                                                                           }
   13738              :                                                                                         break;
   13739              :                                                                                       default:;
   13740              :                                                                                       }
   13741              :                                                                                     break;
   13742              :                                                                                   default:;
   13743              :                                                                                   }
   13744              :                                                                                 break;
   13745              :                                                                               }
   13746              :                                                                             default:;
   13747              :                                                                             }
   13748              :                                                                         }
   13749              :                                                                     }
   13750              :                                                                   break;
   13751              :                                                                 default:;
   13752              :                                                                 }
   13753              :                                                               break;
   13754              :                                                             default:;
   13755              :                                                             }
   13756              :                                                           break;
   13757              :                                                         }
   13758              :                                                       default:;
   13759              :                                                       }
   13760              :                                                   }
   13761              :                                                 break;
   13762              :                                               }
   13763              :                                             default:;
   13764              :                                             }
   13765              :                                           break;
   13766              :                                         }
   13767              :                                       default:;
   13768              :                                       }
   13769              :                                   }
   13770              :                                 break;
   13771              :                               }
   13772              :                             default:;
   13773              :                             }
   13774              :                         }
   13775              :                       break;
   13776            0 :                     case CFN_CEIL:
   13777            0 :                       if (call_expr_nargs (_q30) == 1)
   13778              :     {
   13779            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13780            0 :                           switch (TREE_CODE (_q40))
   13781              :                             {
   13782            0 :                             case SSA_NAME:
   13783            0 :                               {
   13784            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13785              :                                   {
   13786            0 :                                     switch (TREE_CODE (_q31))
   13787              :                                       {
   13788            0 :                                       case SSA_NAME:
   13789            0 :                                         {
   13790            0 :                                           switch (TREE_CODE (_q21))
   13791              :                                             {
   13792            0 :                                             case MINUS_EXPR:
   13793            0 :                                               {
   13794            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13795            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13796            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13797              :                                                   {
   13798            0 :                                                     switch (TREE_CODE (_q80))
   13799              :                                                       {
   13800            0 :                                                       case SSA_NAME:
   13801            0 :                                                         {
   13802            0 :                                                           switch (TREE_CODE (_q81))
   13803              :                                                             {
   13804            0 :                                                             case CALL_EXPR:
   13805            0 :                                                               switch (get_call_combined_fn (_q81))
   13806              :                                                                 {
   13807            0 :                                                                 case CFN_FLOOR:
   13808            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13809              :     {
   13810            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13811            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13812              :                                                                         {
   13813            0 :                                                                           switch (TREE_CODE (_q110))
   13814              :                                                                             {
   13815            0 :                                                                             case SSA_NAME:
   13816            0 :                                                                               {
   13817            0 :                                                                                 switch (TREE_CODE (_p1))
   13818              :                                                                                   {
   13819            0 :                                                                                   case CALL_EXPR:
   13820            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13821              :                                                                                       {
   13822            0 :                                                                                       case CFN_FLOOR:
   13823            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13824              :     {
   13825            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13826            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13827              :                                                                                               {
   13828            0 :                                                                                                 switch (TREE_CODE (_q140))
   13829              :                                                                                                   {
   13830            0 :                                                                                                   case SSA_NAME:
   13831            0 :                                                                                                     {
   13832            0 :                                                                                                       switch (TREE_CODE (_p2))
   13833              :                                                                                                         {
   13834            0 :                                                                                                         case CALL_EXPR:
   13835            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13836              :                                                                                                             {
   13837            0 :                                                                                                             case CFN_CEIL:
   13838            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13839              :     {
   13840            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13841            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13842              :                                                                                                                     {
   13843            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13844              :                                                                                                                         {
   13845            0 :                                                                                                                         case SSA_NAME:
   13846            0 :                                                                                                                           {
   13847            0 :                                                                                                                             {
   13848            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13849            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   13850            0 :                                                                                                                               if (res) return res;
   13851              :                                                                                                                             }
   13852            0 :                                                                                                                             break;
   13853              :                                                                                                                           }
   13854              :                                                                                                                         default:;
   13855              :                                                                                                                         }
   13856              :                                                                                                                     }
   13857              :                                                                                                                 }
   13858              :                                                                                                               break;
   13859              :                                                                                                             default:;
   13860              :                                                                                                             }
   13861              :                                                                                                           break;
   13862              :                                                                                                         default:;
   13863              :                                                                                                         }
   13864              :                                                                                                       break;
   13865              :                                                                                                     }
   13866              :                                                                                                   default:;
   13867              :                                                                                                   }
   13868              :                                                                                               }
   13869              :                                                                                           }
   13870              :                                                                                         break;
   13871              :                                                                                       default:;
   13872              :                                                                                       }
   13873              :                                                                                     break;
   13874              :                                                                                   default:;
   13875              :                                                                                   }
   13876              :                                                                                 break;
   13877              :                                                                               }
   13878              :                                                                             default:;
   13879              :                                                                             }
   13880              :                                                                         }
   13881              :                                                                     }
   13882              :                                                                   break;
   13883              :                                                                 default:;
   13884              :                                                                 }
   13885              :                                                               break;
   13886              :                                                             default:;
   13887              :                                                             }
   13888              :                                                           break;
   13889              :                                                         }
   13890              :                                                       default:;
   13891              :                                                       }
   13892              :                                                   }
   13893              :                                                 break;
   13894              :                                               }
   13895              :                                             default:;
   13896              :                                             }
   13897              :                                           break;
   13898              :                                         }
   13899              :                                       default:;
   13900              :                                       }
   13901              :                                   }
   13902              :                                 break;
   13903              :                               }
   13904              :                             default:;
   13905              :                             }
   13906              :                         }
   13907              :                       break;
   13908            0 :                     case CFN_BUILT_IN_CEILF:
   13909            0 :                       if (call_expr_nargs (_q30) == 1)
   13910              :     {
   13911            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13912            0 :                           switch (TREE_CODE (_q40))
   13913              :                             {
   13914            0 :                             case SSA_NAME:
   13915            0 :                               {
   13916            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13917              :                                   {
   13918            0 :                                     switch (TREE_CODE (_q31))
   13919              :                                       {
   13920            0 :                                       case SSA_NAME:
   13921            0 :                                         {
   13922            0 :                                           switch (TREE_CODE (_q21))
   13923              :                                             {
   13924            0 :                                             case MINUS_EXPR:
   13925            0 :                                               {
   13926            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13927            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13928            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13929              :                                                   {
   13930            0 :                                                     switch (TREE_CODE (_q80))
   13931              :                                                       {
   13932            0 :                                                       case SSA_NAME:
   13933            0 :                                                         {
   13934            0 :                                                           switch (TREE_CODE (_q81))
   13935              :                                                             {
   13936            0 :                                                             case CALL_EXPR:
   13937            0 :                                                               switch (get_call_combined_fn (_q81))
   13938              :                                                                 {
   13939            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   13940            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13941              :     {
   13942            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13943            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13944              :                                                                         {
   13945            0 :                                                                           switch (TREE_CODE (_q110))
   13946              :                                                                             {
   13947            0 :                                                                             case SSA_NAME:
   13948            0 :                                                                               {
   13949            0 :                                                                                 switch (TREE_CODE (_p1))
   13950              :                                                                                   {
   13951            0 :                                                                                   case CALL_EXPR:
   13952            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13953              :                                                                                       {
   13954            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   13955            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13956              :     {
   13957            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13958            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13959              :                                                                                               {
   13960            0 :                                                                                                 switch (TREE_CODE (_q140))
   13961              :                                                                                                   {
   13962            0 :                                                                                                   case SSA_NAME:
   13963            0 :                                                                                                     {
   13964            0 :                                                                                                       switch (TREE_CODE (_p2))
   13965              :                                                                                                         {
   13966            0 :                                                                                                         case CALL_EXPR:
   13967            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13968              :                                                                                                             {
   13969            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   13970            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13971              :     {
   13972            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13973            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13974              :                                                                                                                     {
   13975            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13976              :                                                                                                                         {
   13977            0 :                                                                                                                         case SSA_NAME:
   13978            0 :                                                                                                                           {
   13979            0 :                                                                                                                             {
   13980            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13981            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   13982            0 :                                                                                                                               if (res) return res;
   13983              :                                                                                                                             }
   13984            0 :                                                                                                                             break;
   13985              :                                                                                                                           }
   13986              :                                                                                                                         default:;
   13987              :                                                                                                                         }
   13988              :                                                                                                                     }
   13989              :                                                                                                                 }
   13990              :                                                                                                               break;
   13991              :                                                                                                             default:;
   13992              :                                                                                                             }
   13993              :                                                                                                           break;
   13994              :                                                                                                         default:;
   13995              :                                                                                                         }
   13996              :                                                                                                       break;
   13997              :                                                                                                     }
   13998              :                                                                                                   default:;
   13999              :                                                                                                   }
   14000              :                                                                                               }
   14001              :                                                                                           }
   14002              :                                                                                         break;
   14003              :                                                                                       default:;
   14004              :                                                                                       }
   14005              :                                                                                     break;
   14006              :                                                                                   default:;
   14007              :                                                                                   }
   14008              :                                                                                 break;
   14009              :                                                                               }
   14010              :                                                                             default:;
   14011              :                                                                             }
   14012              :                                                                         }
   14013              :                                                                     }
   14014              :                                                                   break;
   14015              :                                                                 default:;
   14016              :                                                                 }
   14017              :                                                               break;
   14018              :                                                             default:;
   14019              :                                                             }
   14020              :                                                           break;
   14021              :                                                         }
   14022              :                                                       default:;
   14023              :                                                       }
   14024              :                                                   }
   14025              :                                                 break;
   14026              :                                               }
   14027              :                                             default:;
   14028              :                                             }
   14029              :                                           break;
   14030              :                                         }
   14031              :                                       default:;
   14032              :                                       }
   14033              :                                   }
   14034              :                                 break;
   14035              :                               }
   14036              :                             default:;
   14037              :                             }
   14038              :                         }
   14039              :                       break;
   14040            0 :                     case CFN_BUILT_IN_CEILL:
   14041            0 :                       if (call_expr_nargs (_q30) == 1)
   14042              :     {
   14043            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14044            0 :                           switch (TREE_CODE (_q40))
   14045              :                             {
   14046            0 :                             case SSA_NAME:
   14047            0 :                               {
   14048            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14049              :                                   {
   14050            0 :                                     switch (TREE_CODE (_q31))
   14051              :                                       {
   14052            0 :                                       case SSA_NAME:
   14053            0 :                                         {
   14054            0 :                                           switch (TREE_CODE (_q21))
   14055              :                                             {
   14056            0 :                                             case MINUS_EXPR:
   14057            0 :                                               {
   14058            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14059            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14060            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14061              :                                                   {
   14062            0 :                                                     switch (TREE_CODE (_q80))
   14063              :                                                       {
   14064            0 :                                                       case SSA_NAME:
   14065            0 :                                                         {
   14066            0 :                                                           switch (TREE_CODE (_q81))
   14067              :                                                             {
   14068            0 :                                                             case CALL_EXPR:
   14069            0 :                                                               switch (get_call_combined_fn (_q81))
   14070              :                                                                 {
   14071            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   14072            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14073              :     {
   14074            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14075            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14076              :                                                                         {
   14077            0 :                                                                           switch (TREE_CODE (_q110))
   14078              :                                                                             {
   14079            0 :                                                                             case SSA_NAME:
   14080            0 :                                                                               {
   14081            0 :                                                                                 switch (TREE_CODE (_p1))
   14082              :                                                                                   {
   14083            0 :                                                                                   case CALL_EXPR:
   14084            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14085              :                                                                                       {
   14086            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   14087            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14088              :     {
   14089            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14090            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14091              :                                                                                               {
   14092            0 :                                                                                                 switch (TREE_CODE (_q140))
   14093              :                                                                                                   {
   14094            0 :                                                                                                   case SSA_NAME:
   14095            0 :                                                                                                     {
   14096            0 :                                                                                                       switch (TREE_CODE (_p2))
   14097              :                                                                                                         {
   14098            0 :                                                                                                         case CALL_EXPR:
   14099            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14100              :                                                                                                             {
   14101            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   14102            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14103              :     {
   14104            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14105            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14106              :                                                                                                                     {
   14107            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14108              :                                                                                                                         {
   14109            0 :                                                                                                                         case SSA_NAME:
   14110            0 :                                                                                                                           {
   14111            0 :                                                                                                                             {
   14112            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14113            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   14114            0 :                                                                                                                               if (res) return res;
   14115              :                                                                                                                             }
   14116            0 :                                                                                                                             break;
   14117              :                                                                                                                           }
   14118              :                                                                                                                         default:;
   14119              :                                                                                                                         }
   14120              :                                                                                                                     }
   14121              :                                                                                                                 }
   14122              :                                                                                                               break;
   14123              :                                                                                                             default:;
   14124              :                                                                                                             }
   14125              :                                                                                                           break;
   14126              :                                                                                                         default:;
   14127              :                                                                                                         }
   14128              :                                                                                                       break;
   14129              :                                                                                                     }
   14130              :                                                                                                   default:;
   14131              :                                                                                                   }
   14132              :                                                                                               }
   14133              :                                                                                           }
   14134              :                                                                                         break;
   14135              :                                                                                       default:;
   14136              :                                                                                       }
   14137              :                                                                                     break;
   14138              :                                                                                   default:;
   14139              :                                                                                   }
   14140              :                                                                                 break;
   14141              :                                                                               }
   14142              :                                                                             default:;
   14143              :                                                                             }
   14144              :                                                                         }
   14145              :                                                                     }
   14146              :                                                                   break;
   14147              :                                                                 default:;
   14148              :                                                                 }
   14149              :                                                               break;
   14150              :                                                             default:;
   14151              :                                                             }
   14152              :                                                           break;
   14153              :                                                         }
   14154              :                                                       default:;
   14155              :                                                       }
   14156              :                                                   }
   14157              :                                                 break;
   14158              :                                               }
   14159              :                                             default:;
   14160              :                                             }
   14161              :                                           break;
   14162              :                                         }
   14163              :                                       default:;
   14164              :                                       }
   14165              :                                   }
   14166              :                                 break;
   14167              :                               }
   14168              :                             default:;
   14169              :                             }
   14170              :                         }
   14171              :                       break;
   14172              :                     default:;
   14173              :                     }
   14174              :                   break;
   14175              :                 default:;
   14176              :                 }
   14177              :               break;
   14178              :             }
   14179       900600 :           default:;
   14180              :           }
   14181       900600 :         switch (TREE_CODE (_p1))
   14182              :           {
   14183            0 :           case BIT_IOR_EXPR:
   14184            0 :             {
   14185            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14186            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14187            0 :               switch (TREE_CODE (_q51))
   14188              :                 {
   14189            0 :                 case INTEGER_CST:
   14190            0 :                   {
   14191            0 :                     switch (TREE_CODE (_p2))
   14192              :                       {
   14193            0 :                       case BIT_AND_EXPR:
   14194            0 :                         {
   14195            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   14196            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   14197            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14198              :                             {
   14199            0 :                               switch (TREE_CODE (_q81))
   14200              :                                 {
   14201            0 :                                 case INTEGER_CST:
   14202            0 :                                   {
   14203            0 :                                     {
   14204            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   14205            0 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14206            0 :                                       if (res) return res;
   14207              :                                     }
   14208            0 :                                     break;
   14209              :                                   }
   14210              :                                 default:;
   14211              :                                 }
   14212              :                             }
   14213              :                           break;
   14214              :                         }
   14215              :                       default:;
   14216              :                       }
   14217              :                     break;
   14218              :                   }
   14219              :                 default:;
   14220              :                 }
   14221              :               break;
   14222              :             }
   14223       900600 :           default:;
   14224              :           }
   14225       900600 :         switch (TREE_CODE (_q20))
   14226              :           {
   14227        86394 :           CASE_CONVERT:
   14228        86394 :             {
   14229        86394 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14230        86394 :               switch (TREE_CODE (_q21))
   14231              :                 {
   14232         4209 :                 case INTEGER_CST:
   14233         4209 :                   {
   14234         4209 :                     switch (TREE_CODE (_p1))
   14235              :                       {
   14236          169 :                       CASE_CONVERT:
   14237          169 :                         {
   14238          169 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14239          169 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14240              :                             {
   14241           63 :                               switch (TREE_CODE (_p2))
   14242              :                                 {
   14243           62 :                                 case INTEGER_CST:
   14244           62 :                                   {
   14245           62 :                                     {
   14246           62 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14247           62 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14248           62 :                                       if (res) return res;
   14249              :                                     }
   14250           62 :                                     break;
   14251              :                                   }
   14252              :                                 default:;
   14253              :                                 }
   14254              :                             }
   14255              :                           break;
   14256              :                         }
   14257         4209 :                       default:;
   14258              :                       }
   14259         4209 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   14260              :                       {
   14261            5 :                         switch (TREE_CODE (_p2))
   14262              :                           {
   14263            3 :                           case INTEGER_CST:
   14264            3 :                             {
   14265            3 :                               {
   14266            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14267            3 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14268            3 :                                 if (res) return res;
   14269              :                               }
   14270            3 :                               break;
   14271              :                             }
   14272              :                           default:;
   14273              :                           }
   14274              :                       }
   14275         4209 :                     switch (TREE_CODE (_p1))
   14276              :                       {
   14277         1269 :                       case PLUS_EXPR:
   14278         1269 :                         {
   14279         1269 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14280         1269 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14281         1269 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14282              :                             {
   14283           24 :                               switch (TREE_CODE (_q61))
   14284              :                                 {
   14285           24 :                                 case INTEGER_CST:
   14286           24 :                                   {
   14287           24 :                                     switch (TREE_CODE (_p2))
   14288              :                                       {
   14289           24 :                                       case INTEGER_CST:
   14290           24 :                                         {
   14291           24 :                                           {
   14292           24 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14293           24 :                                             tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14294           24 :                                             if (res) return res;
   14295              :                                           }
   14296           24 :                                           break;
   14297              :                                         }
   14298              :                                       default:;
   14299              :                                       }
   14300              :                                     break;
   14301              :                                   }
   14302              :                                 default:;
   14303              :                                 }
   14304              :                             }
   14305              :                           break;
   14306              :                         }
   14307            0 :                       case MINUS_EXPR:
   14308            0 :                         {
   14309            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14310            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14311            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14312              :                             {
   14313            0 :                               switch (TREE_CODE (_q61))
   14314              :                                 {
   14315            0 :                                 case INTEGER_CST:
   14316            0 :                                   {
   14317            0 :                                     switch (TREE_CODE (_p2))
   14318              :                                       {
   14319            0 :                                       case INTEGER_CST:
   14320            0 :                                         {
   14321            0 :                                           {
   14322            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14323            0 :                                             tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14324            0 :                                             if (res) return res;
   14325              :                                           }
   14326            0 :                                           break;
   14327              :                                         }
   14328              :                                       default:;
   14329              :                                       }
   14330              :                                     break;
   14331              :                                   }
   14332              :                                 default:;
   14333              :                                 }
   14334              :                             }
   14335              :                           break;
   14336              :                         }
   14337              :                       default:;
   14338              :                       }
   14339              :                     break;
   14340              :                   }
   14341              :                 default:;
   14342              :                 }
   14343              :               break;
   14344              :             }
   14345       900600 :           default:;
   14346              :           }
   14347       900600 :         switch (TREE_CODE (_q21))
   14348              :           {
   14349       466301 :           case INTEGER_CST:
   14350       466301 :             {
   14351       466301 :               switch (TREE_CODE (_p1))
   14352              :                 {
   14353        54594 :                 CASE_CONVERT:
   14354        54594 :                   {
   14355        54594 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14356        54594 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14357              :                       {
   14358        12605 :                         switch (TREE_CODE (_p2))
   14359              :                           {
   14360        12569 :                           case INTEGER_CST:
   14361        12569 :                             {
   14362        12569 :                               {
   14363        12569 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14364        12569 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14365        12569 :                                 if (res) return res;
   14366              :                               }
   14367        12253 :                               break;
   14368              :                             }
   14369              :                           default:;
   14370              :                           }
   14371              :                       }
   14372              :                     break;
   14373              :                   }
   14374       465985 :                 default:;
   14375              :                 }
   14376       465985 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14377              :                 {
   14378         8827 :                   switch (TREE_CODE (_p2))
   14379              :                     {
   14380         8669 :                     case INTEGER_CST:
   14381         8669 :                       {
   14382         8669 :                         {
   14383         8669 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14384         8669 :                           tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14385         8669 :                           if (res) return res;
   14386              :                         }
   14387           31 :                         break;
   14388              :                       }
   14389              :                     default:;
   14390              :                     }
   14391              :                 }
   14392       457347 :               switch (TREE_CODE (_p1))
   14393              :                 {
   14394        46282 :                 case PLUS_EXPR:
   14395        46282 :                   {
   14396        46282 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14397        46282 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14398        46282 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14399              :                       {
   14400          735 :                         switch (TREE_CODE (_q51))
   14401              :                           {
   14402          735 :                           case INTEGER_CST:
   14403          735 :                             {
   14404          735 :                               switch (TREE_CODE (_p2))
   14405              :                                 {
   14406          727 :                                 case INTEGER_CST:
   14407          727 :                                   {
   14408          727 :                                     {
   14409          727 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14410          727 :                                       tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14411          727 :                                       if (res) return res;
   14412              :                                     }
   14413           17 :                                     break;
   14414              :                                   }
   14415              :                                 default:;
   14416              :                                 }
   14417              :                               break;
   14418              :                             }
   14419              :                           default:;
   14420              :                           }
   14421              :                       }
   14422              :                     break;
   14423              :                   }
   14424          200 :                 case MINUS_EXPR:
   14425          200 :                   {
   14426          200 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14427          200 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14428          200 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14429              :                       {
   14430            4 :                         switch (TREE_CODE (_q51))
   14431              :                           {
   14432            0 :                           case INTEGER_CST:
   14433            0 :                             {
   14434            0 :                               switch (TREE_CODE (_p2))
   14435              :                                 {
   14436            0 :                                 case INTEGER_CST:
   14437            0 :                                   {
   14438            0 :                                     {
   14439            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14440            0 :                                       tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14441            0 :                                       if (res) return res;
   14442              :                                     }
   14443            0 :                                     break;
   14444              :                                   }
   14445              :                                 default:;
   14446              :                                 }
   14447              :                               break;
   14448              :                             }
   14449              :                           default:;
   14450              :                           }
   14451              :                       }
   14452              :                     break;
   14453              :                   }
   14454              :                 default:;
   14455              :                 }
   14456              :               break;
   14457              :             }
   14458       890936 :           default:;
   14459              :           }
   14460       890936 :         switch (TREE_CODE (_p1))
   14461              :           {
   14462           18 :           case MIN_EXPR:
   14463           18 :             {
   14464           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14465           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14466           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14467              :                 {
   14468            7 :                   switch (TREE_CODE (_p2))
   14469              :                     {
   14470            0 :                     case MIN_EXPR:
   14471            0 :                       {
   14472            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14473            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14474            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14475              :                           {
   14476            0 :                             {
   14477            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14478            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14479            0 :                               if (res) return res;
   14480              :                             }
   14481              :                           }
   14482            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14483              :                           {
   14484            0 :                             {
   14485            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14486            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14487            0 :                               if (res) return res;
   14488              :                             }
   14489              :                           }
   14490              :                         break;
   14491              :                       }
   14492            7 :                     default:;
   14493              :                     }
   14494            7 :                   {
   14495            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   14496            7 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14497            7 :                     if (res) return res;
   14498              :                   }
   14499              :                 }
   14500           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14501              :                 {
   14502            0 :                   switch (TREE_CODE (_p2))
   14503              :                     {
   14504            0 :                     case MIN_EXPR:
   14505            0 :                       {
   14506            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14507            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14508            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14509              :                           {
   14510            0 :                             {
   14511            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14512            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14513            0 :                               if (res) return res;
   14514              :                             }
   14515              :                           }
   14516            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14517              :                           {
   14518            0 :                             {
   14519            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14520            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14521            0 :                               if (res) return res;
   14522              :                             }
   14523              :                           }
   14524              :                         break;
   14525              :                       }
   14526              :                     default:;
   14527              :                     }
   14528              :                 }
   14529           18 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14530              :                 {
   14531            8 :                   switch (TREE_CODE (_p2))
   14532              :                     {
   14533            0 :                     case MIN_EXPR:
   14534            0 :                       {
   14535            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14536            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14537            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14538              :                           {
   14539            0 :                             {
   14540            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14541            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14542            0 :                               if (res) return res;
   14543              :                             }
   14544              :                           }
   14545            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14546              :                           {
   14547            0 :                             {
   14548            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14549            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14550            0 :                               if (res) return res;
   14551              :                             }
   14552              :                           }
   14553              :                         break;
   14554              :                       }
   14555              :                     default:;
   14556              :                     }
   14557              :                 }
   14558           18 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14559              :                 {
   14560            7 :                   switch (TREE_CODE (_p2))
   14561              :                     {
   14562            0 :                     case MIN_EXPR:
   14563            0 :                       {
   14564            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14565            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14566            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14567              :                           {
   14568            0 :                             {
   14569            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14570            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14571            0 :                               if (res) return res;
   14572              :                             }
   14573              :                           }
   14574            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14575              :                           {
   14576            0 :                             {
   14577            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14578            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14579            0 :                               if (res) return res;
   14580              :                             }
   14581              :                           }
   14582              :                         break;
   14583              :                       }
   14584              :                     default:;
   14585              :                     }
   14586              :                 }
   14587           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14588              :                 {
   14589            0 :                   {
   14590            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   14591            0 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14592            0 :                     if (res) return res;
   14593              :                   }
   14594              :                 }
   14595              :               break;
   14596              :             }
   14597          100 :           case MAX_EXPR:
   14598          100 :             {
   14599          100 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14600          100 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14601          100 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14602              :                 {
   14603            0 :                   switch (TREE_CODE (_p2))
   14604              :                     {
   14605            0 :                     case MAX_EXPR:
   14606            0 :                       {
   14607            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14608            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14609            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14610              :                           {
   14611            0 :                             {
   14612            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14613            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14614            0 :                               if (res) return res;
   14615              :                             }
   14616              :                           }
   14617            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14618              :                           {
   14619            0 :                             {
   14620            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14621            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14622            0 :                               if (res) return res;
   14623              :                             }
   14624              :                           }
   14625              :                         break;
   14626              :                       }
   14627              :                     default:;
   14628              :                     }
   14629              :                 }
   14630          100 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14631              :                 {
   14632            2 :                   switch (TREE_CODE (_p2))
   14633              :                     {
   14634            1 :                     case MAX_EXPR:
   14635            1 :                       {
   14636            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14637            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14638            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14639              :                           {
   14640            0 :                             {
   14641            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14642            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14643            0 :                               if (res) return res;
   14644              :                             }
   14645              :                           }
   14646            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14647              :                           {
   14648            1 :                             {
   14649            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14650            1 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14651            1 :                               if (res) return res;
   14652              :                             }
   14653              :                           }
   14654              :                         break;
   14655              :                       }
   14656              :                     default:;
   14657              :                     }
   14658              :                 }
   14659           99 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14660              :                 {
   14661            1 :                   switch (TREE_CODE (_p2))
   14662              :                     {
   14663            0 :                     case MAX_EXPR:
   14664            0 :                       {
   14665            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14666            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14667            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14668              :                           {
   14669            0 :                             {
   14670            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14671            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14672            0 :                               if (res) return res;
   14673              :                             }
   14674              :                           }
   14675            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14676              :                           {
   14677            0 :                             {
   14678            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14679            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14680            0 :                               if (res) return res;
   14681              :                             }
   14682              :                           }
   14683              :                         break;
   14684              :                       }
   14685            1 :                     default:;
   14686              :                     }
   14687            1 :                   {
   14688            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   14689            1 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14690            1 :                     if (res) return res;
   14691              :                   }
   14692              :                 }
   14693           98 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14694              :                 {
   14695            0 :                   switch (TREE_CODE (_p2))
   14696              :                     {
   14697            0 :                     case MAX_EXPR:
   14698            0 :                       {
   14699            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14700            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14701            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14702              :                           {
   14703            0 :                             {
   14704            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14705            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14706            0 :                               if (res) return res;
   14707              :                             }
   14708              :                           }
   14709            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14710              :                           {
   14711            0 :                             {
   14712            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14713            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14714            0 :                               if (res) return res;
   14715              :                             }
   14716              :                           }
   14717              :                         break;
   14718              :                       }
   14719            0 :                     default:;
   14720              :                     }
   14721            0 :                   {
   14722            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   14723            0 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14724            0 :                     if (res) return res;
   14725              :                   }
   14726              :                 }
   14727              :               break;
   14728              :             }
   14729       890934 :           default:;
   14730              :           }
   14731       890934 :         if (integer_zerop (_q20))
   14732              :           {
   14733            0 :             {
   14734            0 :               tree _q21_pops[1];
   14735            0 :               if (tree_nop_convert (_q21, _q21_pops))
   14736              :                 {
   14737            0 :                   tree _q40 = _q21_pops[0];
   14738            0 :                   switch (TREE_CODE (_p1))
   14739              :                     {
   14740            0 :                     case MIN_EXPR:
   14741            0 :                       {
   14742            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   14743            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   14744            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14745              :                           {
   14746            0 :                             switch (TREE_CODE (_q61))
   14747              :                               {
   14748            0 :                               case INTEGER_CST:
   14749            0 :                                 {
   14750            0 :                                   switch (TREE_CODE (_p2))
   14751              :                                     {
   14752            0 :                                     case INTEGER_CST:
   14753            0 :                                       {
   14754            0 :                                         {
   14755            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   14756            0 :                                           tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14757            0 :                                           if (res) return res;
   14758              :                                         }
   14759            0 :                                         break;
   14760              :                                       }
   14761              :                                     default:;
   14762              :                                     }
   14763              :                                   break;
   14764              :                                 }
   14765              :                               default:;
   14766              :                               }
   14767              :                           }
   14768              :                         break;
   14769              :                       }
   14770              :                     default:;
   14771              :                     }
   14772              :                 }
   14773              :             }
   14774              :           }
   14775       890934 :         if (tree_expr_nonnegative_p (_q21))
   14776              :           {
   14777       574073 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14778              :               {
   14779          583 :                 switch (TREE_CODE (_p2))
   14780              :                   {
   14781            0 :                   case ABS_EXPR:
   14782            0 :                     {
   14783            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   14784            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14785              :                         {
   14786            0 :                           {
   14787            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14788            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14789            0 :                             if (res) return res;
   14790              :                           }
   14791              :                         }
   14792              :                       break;
   14793              :                     }
   14794              :                   default:;
   14795              :                   }
   14796              :               }
   14797       574073 :             switch (TREE_CODE (_p1))
   14798              :               {
   14799            1 :               case ABS_EXPR:
   14800            1 :                 {
   14801            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14802            1 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14803              :                     {
   14804            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   14805              :                         {
   14806            0 :                           {
   14807            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   14808            0 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14809            0 :                             if (res) return res;
   14810              :                           }
   14811              :                         }
   14812              :                     }
   14813              :                   break;
   14814              :                 }
   14815              :               default:;
   14816              :               }
   14817              :           }
   14818       890934 :         switch (TREE_CODE (_q20))
   14819              :           {
   14820        57164 :           case PLUS_EXPR:
   14821        57164 :             {
   14822        57164 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14823        57164 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14824        57164 :               if (integer_onep (_q31))
   14825              :                 {
   14826        28958 :                   switch (TREE_CODE (_p1))
   14827              :                     {
   14828            2 :                     case NEGATE_EXPR:
   14829            2 :                       {
   14830            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   14831            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   14832              :                           {
   14833            2 :                             if (integer_onep (_p2))
   14834              :                               {
   14835            2 :                                 {
   14836            2 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14837            2 :                                   if (TYPE_UNSIGNED (type)
   14838              : )
   14839              :                                     {
   14840            2 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1817;
   14841            2 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1817;
   14842            2 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1817;
   14843            2 :                                       {
   14844            2 :                                         tree res_op0;
   14845            2 :                                         {
   14846            2 :                                           tree _o1[2], _r1;
   14847            2 :                                           _o1[0] = unshare_expr (captures[0]);
   14848            2 :                                           _o1[1] = captures[1];
   14849            2 :                                           _r1 = fold_build2_loc (loc, GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
   14850            2 :                                           res_op0 = _r1;
   14851              :                                         }
   14852            2 :                                         tree res_op1;
   14853            2 :                                         {
   14854            2 :                                           tree _o1[1], _r1;
   14855            2 :                                           _o1[0] = captures[0];
   14856            2 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14857            2 :                                           res_op1 = _r1;
   14858              :                                         }
   14859            2 :                                         tree res_op2;
   14860            2 :                                         res_op2 = captures[2];
   14861            2 :                                         tree _r;
   14862            2 :                                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   14863            2 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   14864            2 :                                         return _r;
   14865              :                                       }
   14866            0 : next_after_fail1817:;
   14867              :                                     }
   14868              :                                 }
   14869              :                               }
   14870              :                           }
   14871              :                         break;
   14872              :                       }
   14873              :                     default:;
   14874              :                     }
   14875              :                 }
   14876              :               break;
   14877              :             }
   14878              :           default:;
   14879              :           }
   14880              :         break;
   14881              :       }
   14882      1368867 :     case LE_EXPR:
   14883      1368867 :       {
   14884      1368867 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14885      1368867 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14886      1368867 :         switch (TREE_CODE (_q20))
   14887              :           {
   14888          201 :           case MINUS_EXPR:
   14889          201 :             {
   14890          201 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14891          201 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14892          201 :               switch (TREE_CODE (_q30))
   14893              :                 {
   14894            0 :                 case CALL_EXPR:
   14895            0 :                   switch (get_call_combined_fn (_q30))
   14896              :                     {
   14897            0 :                     case CFN_BUILT_IN_CEIL:
   14898            0 :                       if (call_expr_nargs (_q30) == 1)
   14899              :     {
   14900            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14901            0 :                           switch (TREE_CODE (_q40))
   14902              :                             {
   14903            0 :                             case SSA_NAME:
   14904            0 :                               {
   14905            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14906              :                                   {
   14907            0 :                                     switch (TREE_CODE (_q31))
   14908              :                                       {
   14909            0 :                                       case SSA_NAME:
   14910            0 :                                         {
   14911            0 :                                           switch (TREE_CODE (_q21))
   14912              :                                             {
   14913            0 :                                             case MINUS_EXPR:
   14914            0 :                                               {
   14915            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14916            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14917            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14918              :                                                   {
   14919            0 :                                                     switch (TREE_CODE (_q80))
   14920              :                                                       {
   14921            0 :                                                       case SSA_NAME:
   14922            0 :                                                         {
   14923            0 :                                                           switch (TREE_CODE (_q81))
   14924              :                                                             {
   14925            0 :                                                             case CALL_EXPR:
   14926            0 :                                                               switch (get_call_combined_fn (_q81))
   14927              :                                                                 {
   14928            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   14929            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14930              :     {
   14931            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14932            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14933              :                                                                         {
   14934            0 :                                                                           switch (TREE_CODE (_q110))
   14935              :                                                                             {
   14936            0 :                                                                             case SSA_NAME:
   14937            0 :                                                                               {
   14938            0 :                                                                                 switch (TREE_CODE (_p1))
   14939              :                                                                                   {
   14940            0 :                                                                                   case CALL_EXPR:
   14941            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14942              :                                                                                       {
   14943            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   14944            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14945              :     {
   14946            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14947            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14948              :                                                                                               {
   14949            0 :                                                                                                 switch (TREE_CODE (_q140))
   14950              :                                                                                                   {
   14951            0 :                                                                                                   case SSA_NAME:
   14952            0 :                                                                                                     {
   14953            0 :                                                                                                       switch (TREE_CODE (_p2))
   14954              :                                                                                                         {
   14955            0 :                                                                                                         case CALL_EXPR:
   14956            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14957              :                                                                                                             {
   14958            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   14959            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14960              :     {
   14961            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14962            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14963              :                                                                                                                     {
   14964            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14965              :                                                                                                                         {
   14966            0 :                                                                                                                         case SSA_NAME:
   14967            0 :                                                                                                                           {
   14968            0 :                                                                                                                             {
   14969            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14970            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   14971            0 :                                                                                                                               if (res) return res;
   14972              :                                                                                                                             }
   14973            0 :                                                                                                                             break;
   14974              :                                                                                                                           }
   14975              :                                                                                                                         default:;
   14976              :                                                                                                                         }
   14977              :                                                                                                                     }
   14978              :                                                                                                                 }
   14979              :                                                                                                               break;
   14980              :                                                                                                             default:;
   14981              :                                                                                                             }
   14982              :                                                                                                           break;
   14983              :                                                                                                         default:;
   14984              :                                                                                                         }
   14985              :                                                                                                       break;
   14986              :                                                                                                     }
   14987              :                                                                                                   default:;
   14988              :                                                                                                   }
   14989              :                                                                                               }
   14990              :                                                                                           }
   14991              :                                                                                         break;
   14992              :                                                                                       default:;
   14993              :                                                                                       }
   14994              :                                                                                     break;
   14995              :                                                                                   default:;
   14996              :                                                                                   }
   14997              :                                                                                 break;
   14998              :                                                                               }
   14999              :                                                                             default:;
   15000              :                                                                             }
   15001              :                                                                         }
   15002              :                                                                     }
   15003              :                                                                   break;
   15004              :                                                                 default:;
   15005              :                                                                 }
   15006              :                                                               break;
   15007              :                                                             default:;
   15008              :                                                             }
   15009              :                                                           break;
   15010              :                                                         }
   15011              :                                                       default:;
   15012              :                                                       }
   15013              :                                                   }
   15014              :                                                 break;
   15015              :                                               }
   15016              :                                             default:;
   15017              :                                             }
   15018              :                                           break;
   15019              :                                         }
   15020              :                                       default:;
   15021              :                                       }
   15022              :                                   }
   15023              :                                 break;
   15024              :                               }
   15025              :                             default:;
   15026              :                             }
   15027              :                         }
   15028              :                       break;
   15029            0 :                     case CFN_CEIL:
   15030            0 :                       if (call_expr_nargs (_q30) == 1)
   15031              :     {
   15032            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15033            0 :                           switch (TREE_CODE (_q40))
   15034              :                             {
   15035            0 :                             case SSA_NAME:
   15036            0 :                               {
   15037            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15038              :                                   {
   15039            0 :                                     switch (TREE_CODE (_q31))
   15040              :                                       {
   15041            0 :                                       case SSA_NAME:
   15042            0 :                                         {
   15043            0 :                                           switch (TREE_CODE (_q21))
   15044              :                                             {
   15045            0 :                                             case MINUS_EXPR:
   15046            0 :                                               {
   15047            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15048            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15049            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15050              :                                                   {
   15051            0 :                                                     switch (TREE_CODE (_q80))
   15052              :                                                       {
   15053            0 :                                                       case SSA_NAME:
   15054            0 :                                                         {
   15055            0 :                                                           switch (TREE_CODE (_q81))
   15056              :                                                             {
   15057            0 :                                                             case CALL_EXPR:
   15058            0 :                                                               switch (get_call_combined_fn (_q81))
   15059              :                                                                 {
   15060            0 :                                                                 case CFN_FLOOR:
   15061            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15062              :     {
   15063            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15064            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15065              :                                                                         {
   15066            0 :                                                                           switch (TREE_CODE (_q110))
   15067              :                                                                             {
   15068            0 :                                                                             case SSA_NAME:
   15069            0 :                                                                               {
   15070            0 :                                                                                 switch (TREE_CODE (_p1))
   15071              :                                                                                   {
   15072            0 :                                                                                   case CALL_EXPR:
   15073            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15074              :                                                                                       {
   15075            0 :                                                                                       case CFN_CEIL:
   15076            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15077              :     {
   15078            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15079            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15080              :                                                                                               {
   15081            0 :                                                                                                 switch (TREE_CODE (_q140))
   15082              :                                                                                                   {
   15083            0 :                                                                                                   case SSA_NAME:
   15084            0 :                                                                                                     {
   15085            0 :                                                                                                       switch (TREE_CODE (_p2))
   15086              :                                                                                                         {
   15087            0 :                                                                                                         case CALL_EXPR:
   15088            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15089              :                                                                                                             {
   15090            0 :                                                                                                             case CFN_FLOOR:
   15091            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15092              :     {
   15093            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15094            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15095              :                                                                                                                     {
   15096            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15097              :                                                                                                                         {
   15098            0 :                                                                                                                         case SSA_NAME:
   15099            0 :                                                                                                                           {
   15100            0 :                                                                                                                             {
   15101            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15102            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   15103            0 :                                                                                                                               if (res) return res;
   15104              :                                                                                                                             }
   15105            0 :                                                                                                                             break;
   15106              :                                                                                                                           }
   15107              :                                                                                                                         default:;
   15108              :                                                                                                                         }
   15109              :                                                                                                                     }
   15110              :                                                                                                                 }
   15111              :                                                                                                               break;
   15112              :                                                                                                             default:;
   15113              :                                                                                                             }
   15114              :                                                                                                           break;
   15115              :                                                                                                         default:;
   15116              :                                                                                                         }
   15117              :                                                                                                       break;
   15118              :                                                                                                     }
   15119              :                                                                                                   default:;
   15120              :                                                                                                   }
   15121              :                                                                                               }
   15122              :                                                                                           }
   15123              :                                                                                         break;
   15124              :                                                                                       default:;
   15125              :                                                                                       }
   15126              :                                                                                     break;
   15127              :                                                                                   default:;
   15128              :                                                                                   }
   15129              :                                                                                 break;
   15130              :                                                                               }
   15131              :                                                                             default:;
   15132              :                                                                             }
   15133              :                                                                         }
   15134              :                                                                     }
   15135              :                                                                   break;
   15136              :                                                                 default:;
   15137              :                                                                 }
   15138              :                                                               break;
   15139              :                                                             default:;
   15140              :                                                             }
   15141              :                                                           break;
   15142              :                                                         }
   15143              :                                                       default:;
   15144              :                                                       }
   15145              :                                                   }
   15146              :                                                 break;
   15147              :                                               }
   15148              :                                             default:;
   15149              :                                             }
   15150              :                                           break;
   15151              :                                         }
   15152              :                                       default:;
   15153              :                                       }
   15154              :                                   }
   15155              :                                 break;
   15156              :                               }
   15157              :                             default:;
   15158              :                             }
   15159              :                         }
   15160              :                       break;
   15161            0 :                     case CFN_BUILT_IN_CEILF:
   15162            0 :                       if (call_expr_nargs (_q30) == 1)
   15163              :     {
   15164            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15165            0 :                           switch (TREE_CODE (_q40))
   15166              :                             {
   15167            0 :                             case SSA_NAME:
   15168            0 :                               {
   15169            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15170              :                                   {
   15171            0 :                                     switch (TREE_CODE (_q31))
   15172              :                                       {
   15173            0 :                                       case SSA_NAME:
   15174            0 :                                         {
   15175            0 :                                           switch (TREE_CODE (_q21))
   15176              :                                             {
   15177            0 :                                             case MINUS_EXPR:
   15178            0 :                                               {
   15179            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15180            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15181            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15182              :                                                   {
   15183            0 :                                                     switch (TREE_CODE (_q80))
   15184              :                                                       {
   15185            0 :                                                       case SSA_NAME:
   15186            0 :                                                         {
   15187            0 :                                                           switch (TREE_CODE (_q81))
   15188              :                                                             {
   15189            0 :                                                             case CALL_EXPR:
   15190            0 :                                                               switch (get_call_combined_fn (_q81))
   15191              :                                                                 {
   15192            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   15193            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15194              :     {
   15195            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15196            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15197              :                                                                         {
   15198            0 :                                                                           switch (TREE_CODE (_q110))
   15199              :                                                                             {
   15200            0 :                                                                             case SSA_NAME:
   15201            0 :                                                                               {
   15202            0 :                                                                                 switch (TREE_CODE (_p1))
   15203              :                                                                                   {
   15204            0 :                                                                                   case CALL_EXPR:
   15205            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15206              :                                                                                       {
   15207            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   15208            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15209              :     {
   15210            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15211            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15212              :                                                                                               {
   15213            0 :                                                                                                 switch (TREE_CODE (_q140))
   15214              :                                                                                                   {
   15215            0 :                                                                                                   case SSA_NAME:
   15216            0 :                                                                                                     {
   15217            0 :                                                                                                       switch (TREE_CODE (_p2))
   15218              :                                                                                                         {
   15219            0 :                                                                                                         case CALL_EXPR:
   15220            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15221              :                                                                                                             {
   15222            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   15223            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15224              :     {
   15225            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15226            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15227              :                                                                                                                     {
   15228            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15229              :                                                                                                                         {
   15230            0 :                                                                                                                         case SSA_NAME:
   15231            0 :                                                                                                                           {
   15232            0 :                                                                                                                             {
   15233            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15234            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   15235            0 :                                                                                                                               if (res) return res;
   15236              :                                                                                                                             }
   15237            0 :                                                                                                                             break;
   15238              :                                                                                                                           }
   15239              :                                                                                                                         default:;
   15240              :                                                                                                                         }
   15241              :                                                                                                                     }
   15242              :                                                                                                                 }
   15243              :                                                                                                               break;
   15244              :                                                                                                             default:;
   15245              :                                                                                                             }
   15246              :                                                                                                           break;
   15247              :                                                                                                         default:;
   15248              :                                                                                                         }
   15249              :                                                                                                       break;
   15250              :                                                                                                     }
   15251              :                                                                                                   default:;
   15252              :                                                                                                   }
   15253              :                                                                                               }
   15254              :                                                                                           }
   15255              :                                                                                         break;
   15256              :                                                                                       default:;
   15257              :                                                                                       }
   15258              :                                                                                     break;
   15259              :                                                                                   default:;
   15260              :                                                                                   }
   15261              :                                                                                 break;
   15262              :                                                                               }
   15263              :                                                                             default:;
   15264              :                                                                             }
   15265              :                                                                         }
   15266              :                                                                     }
   15267              :                                                                   break;
   15268              :                                                                 default:;
   15269              :                                                                 }
   15270              :                                                               break;
   15271              :                                                             default:;
   15272              :                                                             }
   15273              :                                                           break;
   15274              :                                                         }
   15275              :                                                       default:;
   15276              :                                                       }
   15277              :                                                   }
   15278              :                                                 break;
   15279              :                                               }
   15280              :                                             default:;
   15281              :                                             }
   15282              :                                           break;
   15283              :                                         }
   15284              :                                       default:;
   15285              :                                       }
   15286              :                                   }
   15287              :                                 break;
   15288              :                               }
   15289              :                             default:;
   15290              :                             }
   15291              :                         }
   15292              :                       break;
   15293            0 :                     case CFN_BUILT_IN_CEILL:
   15294            0 :                       if (call_expr_nargs (_q30) == 1)
   15295              :     {
   15296            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15297            0 :                           switch (TREE_CODE (_q40))
   15298              :                             {
   15299            0 :                             case SSA_NAME:
   15300            0 :                               {
   15301            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15302              :                                   {
   15303            0 :                                     switch (TREE_CODE (_q31))
   15304              :                                       {
   15305            0 :                                       case SSA_NAME:
   15306            0 :                                         {
   15307            0 :                                           switch (TREE_CODE (_q21))
   15308              :                                             {
   15309            0 :                                             case MINUS_EXPR:
   15310            0 :                                               {
   15311            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15312            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15313            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15314              :                                                   {
   15315            0 :                                                     switch (TREE_CODE (_q80))
   15316              :                                                       {
   15317            0 :                                                       case SSA_NAME:
   15318            0 :                                                         {
   15319            0 :                                                           switch (TREE_CODE (_q81))
   15320              :                                                             {
   15321            0 :                                                             case CALL_EXPR:
   15322            0 :                                                               switch (get_call_combined_fn (_q81))
   15323              :                                                                 {
   15324            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   15325            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15326              :     {
   15327            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15328            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15329              :                                                                         {
   15330            0 :                                                                           switch (TREE_CODE (_q110))
   15331              :                                                                             {
   15332            0 :                                                                             case SSA_NAME:
   15333            0 :                                                                               {
   15334            0 :                                                                                 switch (TREE_CODE (_p1))
   15335              :                                                                                   {
   15336            0 :                                                                                   case CALL_EXPR:
   15337            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15338              :                                                                                       {
   15339            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   15340            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15341              :     {
   15342            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15343            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15344              :                                                                                               {
   15345            0 :                                                                                                 switch (TREE_CODE (_q140))
   15346              :                                                                                                   {
   15347            0 :                                                                                                   case SSA_NAME:
   15348            0 :                                                                                                     {
   15349            0 :                                                                                                       switch (TREE_CODE (_p2))
   15350              :                                                                                                         {
   15351            0 :                                                                                                         case CALL_EXPR:
   15352            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15353              :                                                                                                             {
   15354            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   15355            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15356              :     {
   15357            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15358            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15359              :                                                                                                                     {
   15360            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15361              :                                                                                                                         {
   15362            0 :                                                                                                                         case SSA_NAME:
   15363            0 :                                                                                                                           {
   15364            0 :                                                                                                                             {
   15365            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15366            0 :                                                                                                                               tree res = generic_simplify_341 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   15367            0 :                                                                                                                               if (res) return res;
   15368              :                                                                                                                             }
   15369            0 :                                                                                                                             break;
   15370              :                                                                                                                           }
   15371              :                                                                                                                         default:;
   15372              :                                                                                                                         }
   15373              :                                                                                                                     }
   15374              :                                                                                                                 }
   15375              :                                                                                                               break;
   15376              :                                                                                                             default:;
   15377              :                                                                                                             }
   15378              :                                                                                                           break;
   15379              :                                                                                                         default:;
   15380              :                                                                                                         }
   15381              :                                                                                                       break;
   15382              :                                                                                                     }
   15383              :                                                                                                   default:;
   15384              :                                                                                                   }
   15385              :                                                                                               }
   15386              :                                                                                           }
   15387              :                                                                                         break;
   15388              :                                                                                       default:;
   15389              :                                                                                       }
   15390              :                                                                                     break;
   15391              :                                                                                   default:;
   15392              :                                                                                   }
   15393              :                                                                                 break;
   15394              :                                                                               }
   15395              :                                                                             default:;
   15396              :                                                                             }
   15397              :                                                                         }
   15398              :                                                                     }
   15399              :                                                                   break;
   15400              :                                                                 default:;
   15401              :                                                                 }
   15402              :                                                               break;
   15403              :                                                             default:;
   15404              :                                                             }
   15405              :                                                           break;
   15406              :                                                         }
   15407              :                                                       default:;
   15408              :                                                       }
   15409              :                                                   }
   15410              :                                                 break;
   15411              :                                               }
   15412              :                                             default:;
   15413              :                                             }
   15414              :                                           break;
   15415              :                                         }
   15416              :                                       default:;
   15417              :                                       }
   15418              :                                   }
   15419              :                                 break;
   15420              :                               }
   15421              :                             default:;
   15422              :                             }
   15423              :                         }
   15424              :                       break;
   15425              :                     default:;
   15426              :                     }
   15427              :                   break;
   15428              :                 default:;
   15429              :                 }
   15430              :               break;
   15431              :             }
   15432      1368867 :           default:;
   15433              :           }
   15434      1368867 :         if (integer_zerop (_q21))
   15435              :           {
   15436       123990 :             switch (TREE_CODE (_p1))
   15437              :               {
   15438          245 :               case NEGATE_EXPR:
   15439          245 :                 {
   15440          245 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15441          245 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15442              :                     {
   15443           70 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15444              :                         {
   15445           70 :                           if (integer_zerop (_p2))
   15446              :                             {
   15447           70 :                               {
   15448           70 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15449           70 :                                 if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
   15450              : )
   15451              :                                   {
   15452           68 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1818;
   15453           68 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1818;
   15454           68 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1818;
   15455           68 :                                     {
   15456           68 :                                       tree res_op0;
   15457           68 :                                       res_op0 = captures[2];
   15458           68 :                                       tree res_op1;
   15459           68 :                                       res_op1 = captures[1];
   15460           68 :                                       tree _r;
   15461           68 :                                       _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   15462           68 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
   15463           68 :                                       return _r;
   15464              :                                     }
   15465            2 : next_after_fail1818:;
   15466              :                                   }
   15467              :                               }
   15468              :                             }
   15469              :                         }
   15470              :                     }
   15471              :                   break;
   15472              :                 }
   15473              :               default:;
   15474              :               }
   15475              :           }
   15476      1368799 :         switch (TREE_CODE (_p1))
   15477              :           {
   15478            9 :           case BIT_IOR_EXPR:
   15479            9 :             {
   15480            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15481            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15482            9 :               switch (TREE_CODE (_q51))
   15483              :                 {
   15484            9 :                 case INTEGER_CST:
   15485            9 :                   {
   15486            9 :                     switch (TREE_CODE (_p2))
   15487              :                       {
   15488            0 :                       case BIT_AND_EXPR:
   15489            0 :                         {
   15490            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   15491            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   15492            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15493              :                             {
   15494            0 :                               switch (TREE_CODE (_q81))
   15495              :                                 {
   15496            0 :                                 case INTEGER_CST:
   15497            0 :                                   {
   15498            0 :                                     {
   15499            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   15500            0 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15501            0 :                                       if (res) return res;
   15502              :                                     }
   15503            0 :                                     break;
   15504              :                                   }
   15505              :                                 default:;
   15506              :                                 }
   15507              :                             }
   15508              :                           break;
   15509              :                         }
   15510              :                       default:;
   15511              :                       }
   15512              :                     break;
   15513              :                   }
   15514              :                 default:;
   15515              :                 }
   15516              :               break;
   15517              :             }
   15518      1368799 :           default:;
   15519              :           }
   15520      1368799 :         switch (TREE_CODE (_q20))
   15521              :           {
   15522       141035 :           CASE_CONVERT:
   15523       141035 :             {
   15524       141035 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15525       141035 :               switch (TREE_CODE (_q21))
   15526              :                 {
   15527       105005 :                 case INTEGER_CST:
   15528       105005 :                   {
   15529       105005 :                     switch (TREE_CODE (_p1))
   15530              :                       {
   15531          623 :                       CASE_CONVERT:
   15532          623 :                         {
   15533          623 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15534          623 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15535              :                             {
   15536            8 :                               switch (TREE_CODE (_p2))
   15537              :                                 {
   15538            8 :                                 case INTEGER_CST:
   15539            8 :                                   {
   15540            8 :                                     {
   15541            8 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15542            8 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15543            8 :                                       if (res) return res;
   15544              :                                     }
   15545            8 :                                     break;
   15546              :                                   }
   15547              :                                 default:;
   15548              :                                 }
   15549              :                             }
   15550              :                           break;
   15551              :                         }
   15552       105005 :                       default:;
   15553              :                       }
   15554       105005 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   15555              :                       {
   15556           21 :                         switch (TREE_CODE (_p2))
   15557              :                           {
   15558           21 :                           case INTEGER_CST:
   15559           21 :                             {
   15560           21 :                               {
   15561           21 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15562           21 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15563           21 :                                 if (res) return res;
   15564              :                               }
   15565           21 :                               break;
   15566              :                             }
   15567              :                           default:;
   15568              :                           }
   15569              :                       }
   15570       105005 :                     switch (TREE_CODE (_p1))
   15571              :                       {
   15572          130 :                       case PLUS_EXPR:
   15573          130 :                         {
   15574          130 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15575          130 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15576          130 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15577              :                             {
   15578            6 :                               switch (TREE_CODE (_q61))
   15579              :                                 {
   15580            6 :                                 case INTEGER_CST:
   15581            6 :                                   {
   15582            6 :                                     switch (TREE_CODE (_p2))
   15583              :                                       {
   15584            6 :                                       case INTEGER_CST:
   15585            6 :                                         {
   15586            6 :                                           {
   15587            6 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15588            6 :                                             tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15589            6 :                                             if (res) return res;
   15590              :                                           }
   15591            6 :                                           break;
   15592              :                                         }
   15593              :                                       default:;
   15594              :                                       }
   15595              :                                     break;
   15596              :                                   }
   15597              :                                 default:;
   15598              :                                 }
   15599              :                             }
   15600              :                           break;
   15601              :                         }
   15602          730 :                       case MINUS_EXPR:
   15603          730 :                         {
   15604          730 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15605          730 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15606          730 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15607              :                             {
   15608            0 :                               switch (TREE_CODE (_q61))
   15609              :                                 {
   15610            0 :                                 case INTEGER_CST:
   15611            0 :                                   {
   15612            0 :                                     switch (TREE_CODE (_p2))
   15613              :                                       {
   15614            0 :                                       case INTEGER_CST:
   15615            0 :                                         {
   15616            0 :                                           {
   15617            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15618            0 :                                             tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15619            0 :                                             if (res) return res;
   15620              :                                           }
   15621            0 :                                           break;
   15622              :                                         }
   15623              :                                       default:;
   15624              :                                       }
   15625              :                                     break;
   15626              :                                   }
   15627              :                                 default:;
   15628              :                                 }
   15629              :                             }
   15630              :                           break;
   15631              :                         }
   15632              :                       default:;
   15633              :                       }
   15634              :                     break;
   15635              :                   }
   15636              :                 default:;
   15637              :                 }
   15638              :               break;
   15639              :             }
   15640      1368799 :           default:;
   15641              :           }
   15642      1368799 :         switch (TREE_CODE (_q21))
   15643              :           {
   15644       977781 :           case INTEGER_CST:
   15645       977781 :             {
   15646       977781 :               switch (TREE_CODE (_p1))
   15647              :                 {
   15648        23868 :                 CASE_CONVERT:
   15649        23868 :                   {
   15650        23868 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15651        23868 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15652              :                       {
   15653          228 :                         switch (TREE_CODE (_p2))
   15654              :                           {
   15655          210 :                           case INTEGER_CST:
   15656          210 :                             {
   15657          210 :                               {
   15658          210 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15659          210 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15660          210 :                                 if (res) return res;
   15661              :                               }
   15662          110 :                               break;
   15663              :                             }
   15664              :                           default:;
   15665              :                           }
   15666              :                       }
   15667              :                     break;
   15668              :                   }
   15669       977681 :                 default:;
   15670              :                 }
   15671       977681 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   15672              :                 {
   15673          275 :                   switch (TREE_CODE (_p2))
   15674              :                     {
   15675          238 :                     case INTEGER_CST:
   15676          238 :                       {
   15677          238 :                         {
   15678          238 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15679          238 :                           tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15680          238 :                           if (res) return res;
   15681              :                         }
   15682           93 :                         break;
   15683              :                       }
   15684              :                     default:;
   15685              :                     }
   15686              :                 }
   15687       977536 :               switch (TREE_CODE (_p1))
   15688              :                 {
   15689         3100 :                 case PLUS_EXPR:
   15690         3100 :                   {
   15691         3100 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15692         3100 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15693         3100 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15694              :                       {
   15695          189 :                         switch (TREE_CODE (_q51))
   15696              :                           {
   15697          189 :                           case INTEGER_CST:
   15698          189 :                             {
   15699          189 :                               switch (TREE_CODE (_p2))
   15700              :                                 {
   15701          170 :                                 case INTEGER_CST:
   15702          170 :                                   {
   15703          170 :                                     {
   15704          170 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15705          170 :                                       tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15706          170 :                                       if (res) return res;
   15707              :                                     }
   15708          170 :                                     break;
   15709              :                                   }
   15710              :                                 default:;
   15711              :                                 }
   15712              :                               break;
   15713              :                             }
   15714              :                           default:;
   15715              :                           }
   15716              :                       }
   15717              :                     break;
   15718              :                   }
   15719         7361 :                 case MINUS_EXPR:
   15720         7361 :                   {
   15721         7361 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15722         7361 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15723         7361 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15724              :                       {
   15725            0 :                         switch (TREE_CODE (_q51))
   15726              :                           {
   15727            0 :                           case INTEGER_CST:
   15728            0 :                             {
   15729            0 :                               switch (TREE_CODE (_p2))
   15730              :                                 {
   15731            0 :                                 case INTEGER_CST:
   15732            0 :                                   {
   15733            0 :                                     {
   15734            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15735            0 :                                       tree res = generic_simplify_344 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15736            0 :                                       if (res) return res;
   15737              :                                     }
   15738            0 :                                     break;
   15739              :                                   }
   15740              :                                 default:;
   15741              :                                 }
   15742              :                               break;
   15743              :                             }
   15744              :                           default:;
   15745              :                           }
   15746              :                       }
   15747              :                     break;
   15748              :                   }
   15749              :                 default:;
   15750              :                 }
   15751              :               break;
   15752              :             }
   15753      1368554 :           default:;
   15754              :           }
   15755      1368554 :         switch (TREE_CODE (_p1))
   15756              :           {
   15757           37 :           case MIN_EXPR:
   15758           37 :             {
   15759           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15760           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15761           37 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15762              :                 {
   15763            1 :                   switch (TREE_CODE (_p2))
   15764              :                     {
   15765            0 :                     case MIN_EXPR:
   15766            0 :                       {
   15767            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15768            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15769            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15770              :                           {
   15771            0 :                             {
   15772            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15773            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15774            0 :                               if (res) return res;
   15775              :                             }
   15776              :                           }
   15777            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15778              :                           {
   15779            0 :                             {
   15780            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15781            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15782            0 :                               if (res) return res;
   15783              :                             }
   15784              :                           }
   15785              :                         break;
   15786              :                       }
   15787              :                     default:;
   15788              :                     }
   15789              :                 }
   15790           37 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15791              :                 {
   15792            1 :                   switch (TREE_CODE (_p2))
   15793              :                     {
   15794            0 :                     case MIN_EXPR:
   15795            0 :                       {
   15796            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15797            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15798            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15799              :                           {
   15800            0 :                             {
   15801            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15802            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15803            0 :                               if (res) return res;
   15804              :                             }
   15805              :                           }
   15806            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15807              :                           {
   15808            0 :                             {
   15809            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15810            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15811            0 :                               if (res) return res;
   15812              :                             }
   15813              :                           }
   15814              :                         break;
   15815              :                       }
   15816              :                     default:;
   15817              :                     }
   15818              :                 }
   15819           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15820              :                 {
   15821            1 :                   switch (TREE_CODE (_p2))
   15822              :                     {
   15823            0 :                     case MIN_EXPR:
   15824            0 :                       {
   15825            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15826            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15827            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15828              :                           {
   15829            0 :                             {
   15830            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15831            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15832            0 :                               if (res) return res;
   15833              :                             }
   15834              :                           }
   15835            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15836              :                           {
   15837            0 :                             {
   15838            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15839            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15840            0 :                               if (res) return res;
   15841              :                             }
   15842              :                           }
   15843              :                         break;
   15844              :                       }
   15845            1 :                     default:;
   15846              :                     }
   15847            1 :                   {
   15848            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   15849            1 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15850            1 :                     if (res) return res;
   15851              :                   }
   15852              :                 }
   15853           36 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15854              :                 {
   15855            1 :                   switch (TREE_CODE (_p2))
   15856              :                     {
   15857            0 :                     case MIN_EXPR:
   15858            0 :                       {
   15859            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15860            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15861            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15862              :                           {
   15863            0 :                             {
   15864            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15865            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15866            0 :                               if (res) return res;
   15867              :                             }
   15868              :                           }
   15869            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15870              :                           {
   15871            0 :                             {
   15872            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   15873            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15874            0 :                               if (res) return res;
   15875              :                             }
   15876              :                           }
   15877              :                         break;
   15878              :                       }
   15879            1 :                     default:;
   15880              :                     }
   15881            1 :                   {
   15882            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   15883            1 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   15884            1 :                     if (res) return res;
   15885              :                   }
   15886              :                 }
   15887              :               break;
   15888              :             }
   15889           12 :           case MAX_EXPR:
   15890           12 :             {
   15891           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15892           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15893           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15894              :                 {
   15895            0 :                   switch (TREE_CODE (_p2))
   15896              :                     {
   15897            0 :                     case MAX_EXPR:
   15898            0 :                       {
   15899            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15900            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15901            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15902              :                           {
   15903            0 :                             {
   15904            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15905            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15906            0 :                               if (res) return res;
   15907              :                             }
   15908              :                           }
   15909            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15910              :                           {
   15911            0 :                             {
   15912            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15913            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15914            0 :                               if (res) return res;
   15915              :                             }
   15916              :                           }
   15917              :                         break;
   15918              :                       }
   15919            0 :                     default:;
   15920              :                     }
   15921            0 :                   {
   15922            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   15923            0 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15924            0 :                     if (res) return res;
   15925              :                   }
   15926              :                 }
   15927           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15928              :                 {
   15929            0 :                   switch (TREE_CODE (_p2))
   15930              :                     {
   15931            0 :                     case MAX_EXPR:
   15932            0 :                       {
   15933            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15934            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15935            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15936              :                           {
   15937            0 :                             {
   15938            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15939            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15940            0 :                               if (res) return res;
   15941              :                             }
   15942              :                           }
   15943            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15944              :                           {
   15945            0 :                             {
   15946            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15947            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   15948            0 :                               if (res) return res;
   15949              :                             }
   15950              :                           }
   15951              :                         break;
   15952              :                       }
   15953              :                     default:;
   15954              :                     }
   15955              :                 }
   15956           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15957              :                 {
   15958            0 :                   switch (TREE_CODE (_p2))
   15959              :                     {
   15960            0 :                     case MAX_EXPR:
   15961            0 :                       {
   15962            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15963            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15964            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15965              :                           {
   15966            0 :                             {
   15967            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   15968            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15969            0 :                               if (res) return res;
   15970              :                             }
   15971              :                           }
   15972            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15973              :                           {
   15974            0 :                             {
   15975            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   15976            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15977            0 :                               if (res) return res;
   15978              :                             }
   15979              :                           }
   15980              :                         break;
   15981              :                       }
   15982              :                     default:;
   15983              :                     }
   15984              :                 }
   15985           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15986              :                 {
   15987            0 :                   switch (TREE_CODE (_p2))
   15988              :                     {
   15989            0 :                     case MAX_EXPR:
   15990            0 :                       {
   15991            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15992            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15993            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15994              :                           {
   15995            0 :                             {
   15996            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   15997            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   15998            0 :                               if (res) return res;
   15999              :                             }
   16000              :                           }
   16001            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16002              :                           {
   16003            0 :                             {
   16004            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   16005            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16006            0 :                               if (res) return res;
   16007              :                             }
   16008              :                           }
   16009              :                         break;
   16010              :                       }
   16011              :                     default:;
   16012              :                     }
   16013              :                 }
   16014           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16015              :                 {
   16016            0 :                   {
   16017            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   16018            0 :                     tree res = generic_simplify_346 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16019            0 :                     if (res) return res;
   16020              :                   }
   16021              :                 }
   16022              :               break;
   16023              :             }
   16024      1368552 :           default:;
   16025              :           }
   16026      1368552 :         if (integer_zerop (_q20))
   16027              :           {
   16028            2 :             {
   16029            2 :               tree _q21_pops[1];
   16030            2 :               if (tree_nop_convert (_q21, _q21_pops))
   16031              :                 {
   16032            0 :                   tree _q40 = _q21_pops[0];
   16033            0 :                   switch (TREE_CODE (_p1))
   16034              :                     {
   16035            0 :                     case MAX_EXPR:
   16036            0 :                       {
   16037            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   16038            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   16039            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   16040              :                           {
   16041            0 :                             switch (TREE_CODE (_q61))
   16042              :                               {
   16043            0 :                               case INTEGER_CST:
   16044            0 :                                 {
   16045            0 :                                   switch (TREE_CODE (_p2))
   16046              :                                     {
   16047            0 :                                     case INTEGER_CST:
   16048            0 :                                       {
   16049            0 :                                         {
   16050            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   16051            0 :                                           tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16052            0 :                                           if (res) return res;
   16053              :                                         }
   16054            0 :                                         break;
   16055              :                                       }
   16056              :                                     default:;
   16057              :                                     }
   16058              :                                   break;
   16059              :                                 }
   16060              :                               default:;
   16061              :                               }
   16062              :                           }
   16063              :                         break;
   16064              :                       }
   16065              :                     default:;
   16066              :                     }
   16067              :                 }
   16068              :             }
   16069              :           }
   16070      1368552 :         if (tree_expr_nonnegative_p (_q20))
   16071              :           {
   16072       868509 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16073              :               {
   16074           12 :                 switch (TREE_CODE (_p2))
   16075              :                   {
   16076            0 :                   case ABS_EXPR:
   16077            0 :                     {
   16078            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16079            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16080              :                         {
   16081            0 :                           {
   16082            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16083            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16084            0 :                             if (res) return res;
   16085              :                           }
   16086              :                         }
   16087              :                       break;
   16088              :                     }
   16089              :                   default:;
   16090              :                   }
   16091              :               }
   16092       868509 :             switch (TREE_CODE (_p1))
   16093              :               {
   16094            0 :               case ABS_EXPR:
   16095            0 :                 {
   16096            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16097            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16098              :                     {
   16099            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   16100              :                         {
   16101            0 :                           {
   16102            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   16103            0 :                             tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16104            0 :                             if (res) return res;
   16105              :                           }
   16106              :                         }
   16107              :                     }
   16108              :                   break;
   16109              :                 }
   16110              :               default:;
   16111              :               }
   16112              :           }
   16113              :         break;
   16114              :       }
   16115      1682091 :     case EQ_EXPR:
   16116      1682091 :       {
   16117      1682091 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16118      1682091 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16119      1682091 :         if (tree_zero_one_valued_p (_q20))
   16120              :           {
   16121       159292 :             if (integer_zerop (_q21))
   16122              :               {
   16123          976 :                 switch (TREE_CODE (_p2))
   16124              :                   {
   16125            1 :                   case BIT_XOR_EXPR:
   16126            1 :                     {
   16127            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16128            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16129            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16130              :                         {
   16131            1 :                           {
   16132            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16133            1 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16134            1 :                             if (res) return res;
   16135              :                           }
   16136              :                         }
   16137            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16138              :                         {
   16139            0 :                           {
   16140            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16141            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16142            0 :                             if (res) return res;
   16143              :                           }
   16144              :                         }
   16145              :                       break;
   16146              :                     }
   16147            1 :                   case BIT_IOR_EXPR:
   16148            1 :                     {
   16149            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16150            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16151            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16152              :                         {
   16153            1 :                           {
   16154            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16155            1 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16156            1 :                             if (res) return res;
   16157              :                           }
   16158              :                         }
   16159            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16160              :                         {
   16161            0 :                           {
   16162            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16163            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16164            0 :                             if (res) return res;
   16165              :                           }
   16166              :                         }
   16167              :                       break;
   16168              :                     }
   16169            1 :                   case PLUS_EXPR:
   16170            1 :                     {
   16171            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16172            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16173            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16174              :                         {
   16175            1 :                           {
   16176            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16177            1 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16178            1 :                             if (res) return res;
   16179              :                           }
   16180              :                         }
   16181            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16182              :                         {
   16183            0 :                           {
   16184            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16185            0 :                             tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16186            0 :                             if (res) return res;
   16187              :                           }
   16188              :                         }
   16189              :                       break;
   16190              :                     }
   16191              :                   default:;
   16192              :                   }
   16193              :               }
   16194              :           }
   16195      1682088 :         if (integer_zerop (_q21))
   16196              :           {
   16197       567623 :             switch (TREE_CODE (_p2))
   16198              :               {
   16199        17072 :               case PLUS_EXPR:
   16200        17072 :                 {
   16201        17072 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16202        17072 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16203        17072 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16204              :                     {
   16205            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16206              :                         {
   16207            0 :                           {
   16208            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16209            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16210            0 :                             if (res) return res;
   16211              :                           }
   16212              :                         }
   16213              :                     }
   16214        17072 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16215              :                     {
   16216         1999 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16217              :                         {
   16218            0 :                           {
   16219            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16220            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16221            0 :                             if (res) return res;
   16222              :                           }
   16223              :                         }
   16224              :                     }
   16225              :                   break;
   16226              :                 }
   16227          108 :               case BIT_IOR_EXPR:
   16228          108 :                 {
   16229          108 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16230          108 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16231          108 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16232              :                     {
   16233            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16234              :                         {
   16235            0 :                           {
   16236            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16237            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16238            0 :                             if (res) return res;
   16239              :                           }
   16240              :                         }
   16241              :                     }
   16242          108 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16243              :                     {
   16244            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16245              :                         {
   16246            0 :                           {
   16247            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16248            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16249            0 :                             if (res) return res;
   16250              :                           }
   16251              :                         }
   16252              :                     }
   16253              :                   break;
   16254              :                 }
   16255            0 :               case BIT_XOR_EXPR:
   16256            0 :                 {
   16257            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16258            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16259            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16260              :                     {
   16261            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16262              :                         {
   16263            0 :                           {
   16264            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16265            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16266            0 :                             if (res) return res;
   16267              :                           }
   16268              :                         }
   16269              :                     }
   16270            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16271              :                     {
   16272            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16273              :                         {
   16274            0 :                           {
   16275            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16276            0 :                             tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16277            0 :                             if (res) return res;
   16278              :                           }
   16279              :                         }
   16280              :                     }
   16281              :                   break;
   16282              :                 }
   16283            1 :               case LROTATE_EXPR:
   16284            1 :                 {
   16285            1 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16286            1 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16287            1 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16288              :                     {
   16289            1 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16290              :                         {
   16291            1 :                           {
   16292            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16293            1 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   16294            1 :                             if (res) return res;
   16295              :                           }
   16296              :                         }
   16297              :                     }
   16298              :                   break;
   16299              :                 }
   16300            0 :               case RROTATE_EXPR:
   16301            0 :                 {
   16302            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16303            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16304            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16305              :                     {
   16306            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16307              :                         {
   16308            0 :                           {
   16309            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16310            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   16311            0 :                             if (res) return res;
   16312              :                           }
   16313              :                         }
   16314              :                     }
   16315              :                   break;
   16316              :                 }
   16317           48 :               case LSHIFT_EXPR:
   16318           48 :                 {
   16319           48 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16320           48 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16321           48 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16322              :                     {
   16323            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16324              :                         {
   16325            0 :                           {
   16326            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16327            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   16328            0 :                             if (res) return res;
   16329              :                           }
   16330              :                         }
   16331              :                     }
   16332              :                   break;
   16333              :                 }
   16334           46 :               case RSHIFT_EXPR:
   16335           46 :                 {
   16336           46 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16337           46 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16338           46 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16339              :                     {
   16340           20 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16341              :                         {
   16342           20 :                           {
   16343           20 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16344           20 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   16345           20 :                             if (res) return res;
   16346              :                           }
   16347              :                         }
   16348              :                     }
   16349              :                   break;
   16350              :                 }
   16351          183 :               case MINUS_EXPR:
   16352          183 :                 {
   16353          183 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16354          183 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16355          183 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16356              :                     {
   16357            7 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16358              :                         {
   16359            0 :                           {
   16360            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16361            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   16362            0 :                             if (res) return res;
   16363              :                           }
   16364              :                         }
   16365              :                     }
   16366              :                   break;
   16367              :                 }
   16368       152410 :               case POINTER_PLUS_EXPR:
   16369       152410 :                 {
   16370       152410 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16371       152410 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16372       152410 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16373              :                     {
   16374            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16375              :                         {
   16376            0 :                           {
   16377            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16378            0 :                             tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   16379            0 :                             if (res) return res;
   16380              :                           }
   16381              :                         }
   16382              :                     }
   16383              :                   break;
   16384              :                 }
   16385              :               default:;
   16386              :               }
   16387              :           }
   16388      1682067 :         if (integer_onep (_q21))
   16389              :           {
   16390        48145 :             switch (TREE_CODE (_p2))
   16391              :               {
   16392          104 :               case TRUNC_DIV_EXPR:
   16393          104 :                 {
   16394          104 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16395          104 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16396          104 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16397              :                     {
   16398            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16399              :                         {
   16400            0 :                           {
   16401            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16402            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16403            0 :                             if (res) return res;
   16404              :                           }
   16405              :                         }
   16406              :                     }
   16407              :                   break;
   16408              :                 }
   16409            0 :               case CEIL_DIV_EXPR:
   16410            0 :                 {
   16411            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16412            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16413            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16414              :                     {
   16415            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16416              :                         {
   16417            0 :                           {
   16418            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16419            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16420            0 :                             if (res) return res;
   16421              :                           }
   16422              :                         }
   16423              :                     }
   16424              :                   break;
   16425              :                 }
   16426            0 :               case FLOOR_DIV_EXPR:
   16427            0 :                 {
   16428            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16429            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16430            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16431              :                     {
   16432            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16433              :                         {
   16434            0 :                           {
   16435            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16436            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   16437            0 :                             if (res) return res;
   16438              :                           }
   16439              :                         }
   16440              :                     }
   16441              :                   break;
   16442              :                 }
   16443            0 :               case ROUND_DIV_EXPR:
   16444            0 :                 {
   16445            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16446            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16447            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16448              :                     {
   16449            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16450              :                         {
   16451            0 :                           {
   16452            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16453            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   16454            0 :                             if (res) return res;
   16455              :                           }
   16456              :                         }
   16457              :                     }
   16458              :                   break;
   16459              :                 }
   16460            0 :               case EXACT_DIV_EXPR:
   16461            0 :                 {
   16462            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16463            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16464            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16465              :                     {
   16466            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16467              :                         {
   16468            0 :                           {
   16469            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16470            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   16471            0 :                             if (res) return res;
   16472              :                           }
   16473              :                         }
   16474              :                     }
   16475              :                   break;
   16476              :                 }
   16477            0 :               case MULT_EXPR:
   16478            0 :                 {
   16479            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16480            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16481            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16482              :                     {
   16483            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16484              :                         {
   16485            0 :                           {
   16486            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16487            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16488            0 :                             if (res) return res;
   16489              :                           }
   16490              :                         }
   16491              :                     }
   16492            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16493              :                     {
   16494            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16495              :                         {
   16496            0 :                           {
   16497            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16498            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16499            0 :                             if (res) return res;
   16500              :                           }
   16501              :                         }
   16502              :                     }
   16503              :                   break;
   16504              :                 }
   16505              :               default:;
   16506              :               }
   16507              :           }
   16508      1682067 :         if (integer_all_onesp (_q21))
   16509              :           {
   16510        42589 :             switch (TREE_CODE (_p2))
   16511              :               {
   16512            0 :               case BIT_AND_EXPR:
   16513            0 :                 {
   16514            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16515            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16516            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16517              :                     {
   16518            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16519              :                         {
   16520            0 :                           {
   16521            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16522            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16523            0 :                             if (res) return res;
   16524              :                           }
   16525              :                         }
   16526              :                     }
   16527            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16528              :                     {
   16529            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16530              :                         {
   16531            0 :                           {
   16532            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16533            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16534            0 :                             if (res) return res;
   16535              :                           }
   16536              :                         }
   16537              :                     }
   16538              :                   break;
   16539              :                 }
   16540              :               default:;
   16541              :               }
   16542              :           }
   16543      1682067 :         switch (TREE_CODE (_q20))
   16544              :           {
   16545        88166 :           case BIT_AND_EXPR:
   16546        88166 :             {
   16547        88166 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16548        88166 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16549        88166 :               switch (TREE_CODE (_q31))
   16550              :                 {
   16551        87913 :                 case INTEGER_CST:
   16552        87913 :                   {
   16553        87913 :                     if (integer_zerop (_q21))
   16554              :                       {
   16555         1565 :                         switch (TREE_CODE (_p1))
   16556              :                           {
   16557            0 :                           case BIT_IOR_EXPR:
   16558            0 :                             {
   16559            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   16560            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   16561            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   16562              :                                 {
   16563            0 :                                   if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   16564              :                                     {
   16565            0 :                                       switch (TREE_CODE (_q71))
   16566              :                                         {
   16567            0 :                                         case INTEGER_CST:
   16568            0 :                                           {
   16569            0 :                                             if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   16570              :                                               {
   16571            0 :                                                 {
   16572            0 :                                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   16573            0 :                                                   if (wi::popcount (wi::to_wide (captures[1])) == 1
   16574              : )
   16575              :                                                     {
   16576            0 :                                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1819;
   16577            0 :                                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1819;
   16578            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1819;
   16579            0 :                                                       {
   16580            0 :                                                         tree _r;
   16581            0 :                                                         _r = captures[2];
   16582            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   16583            0 :                                                         return _r;
   16584              :                                                       }
   16585            0 : next_after_fail1819:;
   16586              :                                                     }
   16587              :                                                 }
   16588              :                                               }
   16589              :                                             break;
   16590              :                                           }
   16591              :                                         default:;
   16592              :                                         }
   16593              :                                     }
   16594              :                                 }
   16595              :                               break;
   16596              :                             }
   16597              :                           default:;
   16598              :                           }
   16599              :                       }
   16600              :                     break;
   16601              :                   }
   16602              :                 default:;
   16603              :                 }
   16604              :               break;
   16605              :             }
   16606      1682067 :           default:;
   16607              :           }
   16608      1682067 :         switch (TREE_CODE (_p1))
   16609              :           {
   16610            0 :           case BIT_IOR_EXPR:
   16611            0 :             {
   16612            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16613            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16614            0 :               switch (TREE_CODE (_q51))
   16615              :                 {
   16616            0 :                 case INTEGER_CST:
   16617            0 :                   {
   16618            0 :                     switch (TREE_CODE (_p2))
   16619              :                       {
   16620            0 :                       case BIT_AND_EXPR:
   16621            0 :                         {
   16622            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   16623            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   16624            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16625              :                             {
   16626            0 :                               switch (TREE_CODE (_q81))
   16627              :                                 {
   16628            0 :                                 case INTEGER_CST:
   16629            0 :                                   {
   16630            0 :                                     {
   16631            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   16632            0 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16633            0 :                                       if (res) return res;
   16634              :                                     }
   16635            0 :                                     break;
   16636              :                                   }
   16637              :                                 default:;
   16638              :                                 }
   16639              :                             }
   16640              :                           break;
   16641              :                         }
   16642              :                       default:;
   16643              :                       }
   16644              :                     break;
   16645              :                   }
   16646              :                 default:;
   16647              :                 }
   16648              :               break;
   16649              :             }
   16650      1682067 :           default:;
   16651              :           }
   16652      1682067 :         switch (TREE_CODE (_q20))
   16653              :           {
   16654        62811 :           CASE_CONVERT:
   16655        62811 :             {
   16656        62811 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16657        62811 :               switch (TREE_CODE (_q21))
   16658              :                 {
   16659        24820 :                 case INTEGER_CST:
   16660        24820 :                   {
   16661        24820 :                     switch (TREE_CODE (_p1))
   16662              :                       {
   16663        11115 :                       CASE_CONVERT:
   16664        11115 :                         {
   16665        11115 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16666        11115 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16667              :                             {
   16668           57 :                               switch (TREE_CODE (_p2))
   16669              :                                 {
   16670           56 :                                 case INTEGER_CST:
   16671           56 :                                   {
   16672           56 :                                     {
   16673           56 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16674           56 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16675           56 :                                       if (res) return res;
   16676              :                                     }
   16677           56 :                                     break;
   16678              :                                   }
   16679              :                                 default:;
   16680              :                                 }
   16681              :                             }
   16682              :                           break;
   16683              :                         }
   16684        24820 :                       default:;
   16685              :                       }
   16686        24820 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   16687              :                       {
   16688          118 :                         switch (TREE_CODE (_p2))
   16689              :                           {
   16690          112 :                           case INTEGER_CST:
   16691          112 :                             {
   16692          112 :                               {
   16693          112 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16694          112 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16695          112 :                                 if (res) return res;
   16696              :                               }
   16697          112 :                               break;
   16698              :                             }
   16699              :                           default:;
   16700              :                           }
   16701              :                       }
   16702              :                     break;
   16703              :                   }
   16704              :                 default:;
   16705              :                 }
   16706              :               break;
   16707              :             }
   16708      1682067 :           default:;
   16709              :           }
   16710      1682067 :         switch (TREE_CODE (_q21))
   16711              :           {
   16712       878360 :           case INTEGER_CST:
   16713       878360 :             {
   16714       878360 :               switch (TREE_CODE (_p1))
   16715              :                 {
   16716       197485 :                 CASE_CONVERT:
   16717       197485 :                   {
   16718       197485 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16719       197485 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16720              :                       {
   16721          321 :                         switch (TREE_CODE (_p2))
   16722              :                           {
   16723            7 :                           case INTEGER_CST:
   16724            7 :                             {
   16725            7 :                               {
   16726            7 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16727            7 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16728            7 :                                 if (res) return res;
   16729              :                               }
   16730            0 :                               break;
   16731              :                             }
   16732              :                           default:;
   16733              :                           }
   16734              :                       }
   16735              :                     break;
   16736              :                   }
   16737       878353 :                 default:;
   16738              :                 }
   16739       878353 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16740              :                 {
   16741           58 :                   switch (TREE_CODE (_p2))
   16742              :                     {
   16743            5 :                     case INTEGER_CST:
   16744            5 :                       {
   16745            5 :                         {
   16746            5 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16747            5 :                           tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16748            5 :                           if (res) return res;
   16749              :                         }
   16750            0 :                         break;
   16751              :                       }
   16752              :                     default:;
   16753              :                     }
   16754              :                 }
   16755              :               break;
   16756              :             }
   16757      1682055 :           default:;
   16758              :           }
   16759      1682055 :       if (tree_expr_nonnegative_p (_q21))
   16760              :         {
   16761      1525936 :           if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16762              :             {
   16763           80 :               switch (TREE_CODE (_p2))
   16764              :                 {
   16765            0 :                 case ABS_EXPR:
   16766            0 :                   {
   16767            0 :                     tree _q60 = TREE_OPERAND (_p2, 0);
   16768            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16769              :                       {
   16770            0 :                         {
   16771            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16772            0 :                           tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16773            0 :                           if (res) return res;
   16774              :                         }
   16775              :                       }
   16776              :                     break;
   16777              :                   }
   16778              :                 default:;
   16779              :                 }
   16780              :             }
   16781              :         }
   16782      1682055 :         if (tree_expr_nonnegative_p (_q20))
   16783              :           {
   16784       984565 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16785              :               {
   16786        22736 :                 switch (TREE_CODE (_p2))
   16787              :                   {
   16788            0 :                   case ABS_EXPR:
   16789            0 :                     {
   16790            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16791            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16792              :                         {
   16793            0 :                           {
   16794            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16795            0 :                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16796            0 :                             if (res) return res;
   16797              :                           }
   16798              :                         }
   16799              :                       break;
   16800              :                     }
   16801              :                   default:;
   16802              :                   }
   16803              :               }
   16804       984565 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16805              :               {
   16806           25 :                 switch (TREE_CODE (_p2))
   16807              :                   {
   16808            0 :                   case ABS_EXPR:
   16809            0 :                     {
   16810            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16811            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16812              :                         {
   16813            0 :                           {
   16814            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16815            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures);
   16816            0 :                             if (res) return res;
   16817              :                           }
   16818              :                         }
   16819              :                       break;
   16820              :                     }
   16821              :                   default:;
   16822              :                   }
   16823              :               }
   16824              :           }
   16825      1682055 :         if (tree_expr_nonnegative_p (_q21))
   16826              :           {
   16827      1525936 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16828              :               {
   16829        23108 :                 switch (TREE_CODE (_p2))
   16830              :                   {
   16831            0 :                   case ABS_EXPR:
   16832            0 :                     {
   16833            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16834            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16835              :                         {
   16836            0 :                           {
   16837            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16838            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures);
   16839            0 :                             if (res) return res;
   16840              :                           }
   16841              :                         }
   16842              :                       break;
   16843              :                     }
   16844              :                   default:;
   16845              :                   }
   16846              :               }
   16847              :           }
   16848              :         break;
   16849              :       }
   16850      2802266 :     case NE_EXPR:
   16851      2802266 :       {
   16852      2802266 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16853      2802266 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16854      2802266 :         if (tree_zero_one_valued_p (_q20))
   16855              :           {
   16856       158605 :             if (integer_zerop (_q21))
   16857              :               {
   16858       156838 :                 switch (TREE_CODE (_p1))
   16859              :                   {
   16860            5 :                   case BIT_XOR_EXPR:
   16861            5 :                     {
   16862            5 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16863            5 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16864            5 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16865              :                         {
   16866            1 :                           {
   16867            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16868            1 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16869            1 :                             if (res) return res;
   16870              :                           }
   16871              :                         }
   16872            4 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16873              :                         {
   16874            4 :                           {
   16875            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16876            4 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16877            4 :                             if (res) return res;
   16878              :                           }
   16879              :                         }
   16880              :                       break;
   16881              :                     }
   16882            1 :                   case BIT_IOR_EXPR:
   16883            1 :                     {
   16884            1 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16885            1 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16886            1 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16887              :                         {
   16888            1 :                           {
   16889            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16890            1 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16891            1 :                             if (res) return res;
   16892              :                           }
   16893              :                         }
   16894            0 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16895              :                         {
   16896            0 :                           {
   16897            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16898            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16899            0 :                             if (res) return res;
   16900              :                           }
   16901              :                         }
   16902              :                       break;
   16903              :                     }
   16904          110 :                   case PLUS_EXPR:
   16905          110 :                     {
   16906          110 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16907          110 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16908          110 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16909              :                         {
   16910            8 :                           {
   16911            8 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16912            8 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16913            8 :                             if (res) return res;
   16914              :                           }
   16915              :                         }
   16916          109 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16917              :                         {
   16918            1 :                           {
   16919            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   16920            1 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16921            1 :                             if (res) return res;
   16922              :                           }
   16923              :                         }
   16924              :                       break;
   16925              :                     }
   16926              :                   default:;
   16927              :                   }
   16928              :               }
   16929              :           }
   16930      2802258 :         if (integer_zerop (_q21))
   16931              :           {
   16932      1856692 :             switch (TREE_CODE (_p1))
   16933              :               {
   16934           89 :               case TRUNC_DIV_EXPR:
   16935           89 :                 {
   16936           89 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16937           89 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16938           89 :                   if (integer_zerop (_p2))
   16939              :                     {
   16940           51 :                       {
   16941           51 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16942           51 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16943           51 :                         if (res) return res;
   16944              :                       }
   16945              :                     }
   16946              :                   break;
   16947              :                 }
   16948            0 :               case CEIL_DIV_EXPR:
   16949            0 :                 {
   16950            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16951            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16952            0 :                   if (integer_zerop (_p2))
   16953              :                     {
   16954            0 :                       {
   16955            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16956            0 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16957            0 :                         if (res) return res;
   16958              :                       }
   16959              :                     }
   16960              :                   break;
   16961              :                 }
   16962            0 :               case FLOOR_DIV_EXPR:
   16963            0 :                 {
   16964            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16965            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16966            0 :                   if (integer_zerop (_p2))
   16967              :                     {
   16968            0 :                       {
   16969            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16970            0 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   16971            0 :                         if (res) return res;
   16972              :                       }
   16973              :                     }
   16974              :                   break;
   16975              :                 }
   16976            0 :               case ROUND_DIV_EXPR:
   16977            0 :                 {
   16978            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16979            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16980            0 :                   if (integer_zerop (_p2))
   16981              :                     {
   16982            0 :                       {
   16983            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16984            0 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   16985            0 :                         if (res) return res;
   16986              :                       }
   16987              :                     }
   16988              :                   break;
   16989              :                 }
   16990           31 :               case EXACT_DIV_EXPR:
   16991           31 :                 {
   16992           31 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16993           31 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   16994           31 :                   if (integer_zerop (_p2))
   16995              :                     {
   16996            0 :                       {
   16997            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   16998            0 :                         tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   16999            0 :                         if (res) return res;
   17000              :                       }
   17001              :                     }
   17002              :                   break;
   17003              :                 }
   17004          596 :               case MULT_EXPR:
   17005          596 :                 {
   17006          596 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17007          596 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17008          596 :                   if (integer_zerop (_p2))
   17009              :                     {
   17010           40 :                       {
   17011           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17012           40 :                         tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17013           40 :                         if (res) return res;
   17014              :                       }
   17015           40 :                       {
   17016           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   17017           40 :                         tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17018           40 :                         if (res) return res;
   17019              :                       }
   17020              :                     }
   17021              :                   break;
   17022              :                 }
   17023          278 :               case BIT_AND_EXPR:
   17024          278 :                 {
   17025          278 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17026          278 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17027          278 :                   if (integer_zerop (_p2))
   17028              :                     {
   17029           52 :                       {
   17030           52 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17031           52 :                         tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17032           52 :                         if (res) return res;
   17033              :                       }
   17034           52 :                       {
   17035           52 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   17036           52 :                         tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17037           52 :                         if (res) return res;
   17038              :                       }
   17039              :                     }
   17040              :                   break;
   17041              :                 }
   17042              :               default:;
   17043              :               }
   17044              :           }
   17045      2802256 :         if (uniform_integer_cst_p (_q21))
   17046              :           {
   17047      2155993 :             switch (TREE_CODE (_p1))
   17048              :               {
   17049       110119 :               case PLUS_EXPR:
   17050       110119 :                 {
   17051       110119 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17052       110119 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17053       110119 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17054              :                     {
   17055         2615 :                       if (uniform_integer_cst_p (_q51))
   17056              :                         {
   17057         2615 :                           if (uniform_integer_cst_p (_p2))
   17058              :                             {
   17059         2613 :                               {
   17060         2613 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   17061         2613 :                                 {
   17062         2613 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   17063         2613 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   17064         2613 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   17065         2613 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   17066              : )
   17067              :                                       {
   17068           10 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1820;
   17069           10 :                                         if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1820;
   17070           10 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1820;
   17071           10 :                                         {
   17072           10 :                                           tree _r;
   17073           10 :                                           _r = captures[2];
   17074           10 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   17075            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17076           10 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   17077           10 :                                           return _r;
   17078              :                                         }
   17079         2603 : next_after_fail1820:;
   17080              :                                       }
   17081              :                                 }
   17082              :                               }
   17083              :                             }
   17084              :                         }
   17085              :                     }
   17086              :                   break;
   17087              :                 }
   17088              :               default:;
   17089              :               }
   17090              :           }
   17091      2802246 :         switch (TREE_CODE (_q20))
   17092              :           {
   17093       276361 :           case BIT_AND_EXPR:
   17094       276361 :             {
   17095       276361 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17096       276361 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17097       276361 :               switch (TREE_CODE (_q31))
   17098              :                 {
   17099       205832 :                 case INTEGER_CST:
   17100       205832 :                   {
   17101       205832 :                     if (integer_zerop (_q21))
   17102              :                       {
   17103       205819 :                         switch (TREE_CODE (_p1))
   17104              :                           {
   17105           44 :                           case BIT_AND_EXPR:
   17106           44 :                             {
   17107           44 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17108           44 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17109           44 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17110              :                                 {
   17111           18 :                                   switch (TREE_CODE (_q71))
   17112              :                                     {
   17113           18 :                                     case INTEGER_CST:
   17114           18 :                                       {
   17115           18 :                                         if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17116              :                                           {
   17117            0 :                                             {
   17118            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _p1, _q71 };
   17119            0 :                                               if (wi::to_wide (captures[3]) == ~wi::to_wide (captures[1])
   17120              : )
   17121              :                                                 {
   17122            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1821;
   17123            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1821;
   17124            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1821;
   17125            0 :                                                   {
   17126            0 :                                                     tree _r;
   17127            0 :                                                     _r = captures[2];
   17128            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
   17129            0 :                                                     return _r;
   17130              :                                                   }
   17131            0 : next_after_fail1821:;
   17132              :                                                 }
   17133              :                                             }
   17134              :                                           }
   17135           18 :                                         switch (TREE_CODE (_p2))
   17136              :                                           {
   17137           18 :                                           case BIT_IOR_EXPR:
   17138           18 :                                             {
   17139           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   17140           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   17141           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17142              :                                                 {
   17143           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17144              :                                                     {
   17145           18 :                                                       {
   17146           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   17147           18 :                                                         tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17148           18 :                                                         if (res) return res;
   17149              :                                                       }
   17150              :                                                     }
   17151              :                                                 }
   17152              :                                               break;
   17153              :                                             }
   17154              :                                           default:;
   17155              :                                           }
   17156              :                                         break;
   17157              :                                       }
   17158              :                                     default:;
   17159              :                                     }
   17160              :                                 }
   17161              :                               break;
   17162              :                             }
   17163          139 :                           case PLUS_EXPR:
   17164          139 :                             {
   17165          139 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17166          139 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17167          139 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17168              :                                 {
   17169           18 :                                   switch (TREE_CODE (_q71))
   17170              :                                     {
   17171           18 :                                     case INTEGER_CST:
   17172           18 :                                       {
   17173           18 :                                         switch (TREE_CODE (_p2))
   17174              :                                           {
   17175           18 :                                           case BIT_IOR_EXPR:
   17176           18 :                                             {
   17177           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   17178           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   17179           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17180              :                                                 {
   17181           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17182              :                                                     {
   17183           18 :                                                       {
   17184           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   17185           18 :                                                         tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17186           18 :                                                         if (res) return res;
   17187              :                                                       }
   17188              :                                                     }
   17189              :                                                 }
   17190              :                                               break;
   17191              :                                             }
   17192              :                                           default:;
   17193              :                                           }
   17194              :                                         break;
   17195              :                                       }
   17196              :                                     default:;
   17197              :                                     }
   17198              :                                 }
   17199              :                               break;
   17200              :                             }
   17201              :                           default:;
   17202              :                           }
   17203              :                       }
   17204              :                     break;
   17205              :                   }
   17206              :                 default:;
   17207              :                 }
   17208              :               break;
   17209              :             }
   17210      2802222 :           default:;
   17211              :           }
   17212      2802222 :         switch (TREE_CODE (_p1))
   17213              :           {
   17214         9331 :           case BIT_IOR_EXPR:
   17215         9331 :             {
   17216         9331 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17217         9331 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17218         9331 :               switch (TREE_CODE (_q51))
   17219              :                 {
   17220         9106 :                 case INTEGER_CST:
   17221         9106 :                   {
   17222         9106 :                     switch (TREE_CODE (_p2))
   17223              :                       {
   17224            0 :                       case BIT_AND_EXPR:
   17225            0 :                         {
   17226            0 :                           tree _q80 = TREE_OPERAND (_p2, 0);
   17227            0 :                           tree _q81 = TREE_OPERAND (_p2, 1);
   17228            0 :                           if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17229              :                             {
   17230            0 :                               switch (TREE_CODE (_q81))
   17231              :                                 {
   17232            0 :                                 case INTEGER_CST:
   17233            0 :                                   {
   17234            0 :                                     {
   17235            0 :                                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q51, _p2, _q81 };
   17236            0 :                                       tree res = generic_simplify_342 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17237            0 :                                       if (res) return res;
   17238              :                                     }
   17239            0 :                                     break;
   17240              :                                   }
   17241              :                                 default:;
   17242              :                                 }
   17243              :                             }
   17244              :                           break;
   17245              :                         }
   17246              :                       default:;
   17247              :                       }
   17248              :                     break;
   17249              :                   }
   17250              :                 default:;
   17251              :                 }
   17252              :               break;
   17253              :             }
   17254      2802222 :           default:;
   17255              :           }
   17256      2802222 :         switch (TREE_CODE (_q20))
   17257              :           {
   17258       342982 :           CASE_CONVERT:
   17259       342982 :             {
   17260       342982 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17261       342982 :               switch (TREE_CODE (_q21))
   17262              :                 {
   17263       298584 :                 case INTEGER_CST:
   17264       298584 :                   {
   17265       298584 :                     switch (TREE_CODE (_p1))
   17266              :                       {
   17267        97010 :                       CASE_CONVERT:
   17268        97010 :                         {
   17269        97010 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   17270        97010 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17271              :                             {
   17272           57 :                               switch (TREE_CODE (_p2))
   17273              :                                 {
   17274            9 :                                 case INTEGER_CST:
   17275            9 :                                   {
   17276            9 :                                     {
   17277            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17278            9 :                                       tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17279            9 :                                       if (res) return res;
   17280              :                                     }
   17281            9 :                                     break;
   17282              :                                   }
   17283              :                                 default:;
   17284              :                                 }
   17285              :                             }
   17286              :                           break;
   17287              :                         }
   17288       298584 :                       default:;
   17289              :                       }
   17290       298584 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   17291              :                       {
   17292           48 :                         switch (TREE_CODE (_p2))
   17293              :                           {
   17294            0 :                           case INTEGER_CST:
   17295            0 :                             {
   17296            0 :                               {
   17297            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17298            0 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17299            0 :                                 if (res) return res;
   17300              :                               }
   17301            0 :                               break;
   17302              :                             }
   17303              :                           default:;
   17304              :                           }
   17305              :                       }
   17306              :                     break;
   17307              :                   }
   17308              :                 default:;
   17309              :                 }
   17310              :               break;
   17311              :             }
   17312      2802222 :           default:;
   17313              :           }
   17314      2802222 :         switch (TREE_CODE (_q21))
   17315              :           {
   17316      2155959 :           case INTEGER_CST:
   17317      2155959 :             {
   17318      2155959 :               switch (TREE_CODE (_p1))
   17319              :                 {
   17320       357436 :                 CASE_CONVERT:
   17321       357436 :                   {
   17322       357436 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17323       357436 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17324              :                       {
   17325        72568 :                         switch (TREE_CODE (_p2))
   17326              :                           {
   17327        71373 :                           case INTEGER_CST:
   17328        71373 :                             {
   17329        71373 :                               {
   17330        71373 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17331        71373 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17332        71373 :                                 if (res) return res;
   17333              :                               }
   17334        71373 :                               break;
   17335              :                             }
   17336              :                           default:;
   17337              :                           }
   17338              :                       }
   17339              :                     break;
   17340              :                   }
   17341      2155959 :                 default:;
   17342              :                 }
   17343      2155959 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17344              :                 {
   17345        53662 :                   switch (TREE_CODE (_p2))
   17346              :                     {
   17347        51174 :                     case INTEGER_CST:
   17348        51174 :                       {
   17349        51174 :                         {
   17350        51174 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17351        51174 :                           tree res = generic_simplify_343 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17352        51174 :                           if (res) return res;
   17353              :                         }
   17354        51174 :                         break;
   17355              :                       }
   17356              :                     default:;
   17357              :                     }
   17358              :                 }
   17359              :               break;
   17360              :             }
   17361      2802222 :           default:;
   17362              :           }
   17363      2802222 :         switch (TREE_CODE (_p1))
   17364              :           {
   17365        12380 :           case MINUS_EXPR:
   17366        12380 :             {
   17367        12380 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17368        12380 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17369        12380 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17370              :                 {
   17371            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17372              :                     {
   17373            0 :                       if (integer_zerop (_p2))
   17374              :                         {
   17375            0 :                           {
   17376            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17377            0 :                             tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures);
   17378            0 :                             if (res) return res;
   17379              :                           }
   17380              :                         }
   17381              :                     }
   17382              :                 }
   17383        12380 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17384              :                 {
   17385           19 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17386              :                     {
   17387           19 :                       if (integer_zerop (_p2))
   17388              :                         {
   17389            0 :                           {
   17390            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17391            0 :                             tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures);
   17392            0 :                             if (res) return res;
   17393              :                           }
   17394              :                         }
   17395              :                     }
   17396              :                 }
   17397              :               break;
   17398              :             }
   17399           14 :           case BIT_XOR_EXPR:
   17400           14 :             {
   17401           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17402           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17403           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17404              :                 {
   17405            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17406              :                     {
   17407            7 :                       if (integer_zerop (_p2))
   17408              :                         {
   17409            0 :                           {
   17410            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17411            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures);
   17412            0 :                             if (res) return res;
   17413              :                           }
   17414              :                         }
   17415              :                     }
   17416              :                 }
   17417           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17418              :                 {
   17419            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17420              :                     {
   17421            0 :                       if (integer_zerop (_p2))
   17422              :                         {
   17423            0 :                           {
   17424            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17425            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures);
   17426            0 :                             if (res) return res;
   17427              :                           }
   17428              :                         }
   17429              :                     }
   17430              :                 }
   17431              :               break;
   17432              :             }
   17433          265 :           case BIT_AND_EXPR:
   17434          265 :             {
   17435          265 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17436          265 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17437          265 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17438              :                 {
   17439            2 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17440              :                     {
   17441            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17442              :                         {
   17443            0 :                           {
   17444            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17445            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17446            0 :                             if (res) return res;
   17447              :                           }
   17448              :                         }
   17449            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17450              :                         {
   17451            0 :                           {
   17452            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17453            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17454            0 :                             if (res) return res;
   17455              :                           }
   17456              :                         }
   17457              :                     }
   17458              :                 }
   17459          265 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17460              :                 {
   17461            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17462              :                     {
   17463            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17464              :                         {
   17465            0 :                           {
   17466            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17467            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17468            0 :                             if (res) return res;
   17469              :                           }
   17470              :                         }
   17471            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17472              :                         {
   17473            0 :                           {
   17474            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17475            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17476            0 :                             if (res) return res;
   17477              :                           }
   17478              :                         }
   17479              :                     }
   17480              :                 }
   17481              :               break;
   17482              :             }
   17483         9331 :           case BIT_IOR_EXPR:
   17484         9331 :             {
   17485         9331 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17486         9331 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17487         9331 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17488              :                 {
   17489            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17490              :                     {
   17491            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17492              :                         {
   17493            0 :                           {
   17494            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17495            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17496            0 :                             if (res) return res;
   17497              :                           }
   17498              :                         }
   17499            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17500              :                         {
   17501            0 :                           {
   17502            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17503            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17504            0 :                             if (res) return res;
   17505              :                           }
   17506              :                         }
   17507              :                     }
   17508              :                 }
   17509         9331 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17510              :                 {
   17511            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17512              :                     {
   17513            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17514              :                         {
   17515            0 :                           {
   17516            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17517            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17518            0 :                             if (res) return res;
   17519              :                           }
   17520              :                         }
   17521            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17522              :                         {
   17523            0 :                           {
   17524            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17525            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17526            0 :                             if (res) return res;
   17527              :                           }
   17528              :                         }
   17529              :                     }
   17530              :                 }
   17531              :               break;
   17532              :             }
   17533            0 :           case MIN_EXPR:
   17534            0 :             {
   17535            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17536            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17537            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17538              :                 {
   17539            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17540              :                     {
   17541            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17542              :                         {
   17543            0 :                           {
   17544            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17545            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17546            0 :                             if (res) return res;
   17547              :                           }
   17548              :                         }
   17549            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17550              :                         {
   17551            0 :                           {
   17552            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17553            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17554            0 :                             if (res) return res;
   17555              :                           }
   17556              :                         }
   17557              :                     }
   17558            0 :                   switch (TREE_CODE (_p2))
   17559              :                     {
   17560            0 :                     case MIN_EXPR:
   17561            0 :                       {
   17562            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17563            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17564            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17565              :                           {
   17566            0 :                             {
   17567            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17568            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17569            0 :                               if (res) return res;
   17570              :                             }
   17571              :                           }
   17572            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17573              :                           {
   17574            0 :                             {
   17575            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17576            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17577            0 :                               if (res) return res;
   17578              :                             }
   17579              :                           }
   17580              :                         break;
   17581              :                       }
   17582              :                     default:;
   17583              :                     }
   17584              :                 }
   17585            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17586              :                 {
   17587            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17588              :                     {
   17589            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17590              :                         {
   17591            0 :                           {
   17592            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17593            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17594            0 :                             if (res) return res;
   17595              :                           }
   17596              :                         }
   17597            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17598              :                         {
   17599            0 :                           {
   17600            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17601            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17602            0 :                             if (res) return res;
   17603              :                           }
   17604              :                         }
   17605              :                     }
   17606            0 :                   switch (TREE_CODE (_p2))
   17607              :                     {
   17608            0 :                     case MIN_EXPR:
   17609            0 :                       {
   17610            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17611            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17612            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17613              :                           {
   17614            0 :                             {
   17615            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17616            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17617            0 :                               if (res) return res;
   17618              :                             }
   17619              :                           }
   17620            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17621              :                           {
   17622            0 :                             {
   17623            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17624            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17625            0 :                               if (res) return res;
   17626              :                             }
   17627              :                           }
   17628              :                         break;
   17629              :                       }
   17630              :                     default:;
   17631              :                     }
   17632              :                 }
   17633            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17634              :                 {
   17635            0 :                   switch (TREE_CODE (_p2))
   17636              :                     {
   17637            0 :                     case MIN_EXPR:
   17638            0 :                       {
   17639            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17640            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17641            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17642              :                           {
   17643            0 :                             {
   17644            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17645            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17646            0 :                               if (res) return res;
   17647              :                             }
   17648              :                           }
   17649            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17650              :                           {
   17651            0 :                             {
   17652            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17653            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17654            0 :                               if (res) return res;
   17655              :                             }
   17656              :                           }
   17657              :                         break;
   17658              :                       }
   17659              :                     default:;
   17660              :                     }
   17661              :                 }
   17662            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17663              :                 {
   17664            0 :                   switch (TREE_CODE (_p2))
   17665              :                     {
   17666            0 :                     case MIN_EXPR:
   17667            0 :                       {
   17668            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17669            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17670            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17671              :                           {
   17672            0 :                             {
   17673            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17674            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17675            0 :                               if (res) return res;
   17676              :                             }
   17677              :                           }
   17678            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17679              :                           {
   17680            0 :                             {
   17681            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17682            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17683            0 :                               if (res) return res;
   17684              :                             }
   17685              :                           }
   17686              :                         break;
   17687              :                       }
   17688              :                     default:;
   17689              :                     }
   17690              :                 }
   17691              :               break;
   17692              :             }
   17693            0 :           case MAX_EXPR:
   17694            0 :             {
   17695            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17696            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17697            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17698              :                 {
   17699            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17700              :                     {
   17701            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17702              :                         {
   17703            0 :                           {
   17704            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17705            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17706            0 :                             if (res) return res;
   17707              :                           }
   17708              :                         }
   17709            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17710              :                         {
   17711            0 :                           {
   17712            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17713            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17714            0 :                             if (res) return res;
   17715              :                           }
   17716              :                         }
   17717              :                     }
   17718            0 :                   switch (TREE_CODE (_p2))
   17719              :                     {
   17720            0 :                     case MAX_EXPR:
   17721            0 :                       {
   17722            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17723            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17724            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17725              :                           {
   17726            0 :                             {
   17727            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17728            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17729            0 :                               if (res) return res;
   17730              :                             }
   17731              :                           }
   17732            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17733              :                           {
   17734            0 :                             {
   17735            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17736            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17737            0 :                               if (res) return res;
   17738              :                             }
   17739              :                           }
   17740              :                         break;
   17741              :                       }
   17742              :                     default:;
   17743              :                     }
   17744              :                 }
   17745            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17746              :                 {
   17747            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17748              :                     {
   17749            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17750              :                         {
   17751            0 :                           {
   17752            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17753            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17754            0 :                             if (res) return res;
   17755              :                           }
   17756              :                         }
   17757            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17758              :                         {
   17759            0 :                           {
   17760            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17761            0 :                             tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17762            0 :                             if (res) return res;
   17763              :                           }
   17764              :                         }
   17765              :                     }
   17766            0 :                   switch (TREE_CODE (_p2))
   17767              :                     {
   17768            0 :                     case MAX_EXPR:
   17769            0 :                       {
   17770            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17771            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17772            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17773              :                           {
   17774            0 :                             {
   17775            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17776            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17777            0 :                               if (res) return res;
   17778              :                             }
   17779              :                           }
   17780            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17781              :                           {
   17782            0 :                             {
   17783            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17784            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17785            0 :                               if (res) return res;
   17786              :                             }
   17787              :                           }
   17788              :                         break;
   17789              :                       }
   17790              :                     default:;
   17791              :                     }
   17792              :                 }
   17793            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17794              :                 {
   17795            0 :                   switch (TREE_CODE (_p2))
   17796              :                     {
   17797            0 :                     case MAX_EXPR:
   17798            0 :                       {
   17799            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17800            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17801            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17802              :                           {
   17803            0 :                             {
   17804            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17805            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17806            0 :                               if (res) return res;
   17807              :                             }
   17808              :                           }
   17809            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17810              :                           {
   17811            0 :                             {
   17812            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17813            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17814            0 :                               if (res) return res;
   17815              :                             }
   17816              :                           }
   17817              :                         break;
   17818              :                       }
   17819              :                     default:;
   17820              :                     }
   17821              :                 }
   17822            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17823              :                 {
   17824            0 :                   switch (TREE_CODE (_p2))
   17825              :                     {
   17826            0 :                     case MAX_EXPR:
   17827            0 :                       {
   17828            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17829            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17830            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17831              :                           {
   17832            0 :                             {
   17833            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17834            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17835            0 :                               if (res) return res;
   17836              :                             }
   17837              :                           }
   17838            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17839              :                           {
   17840            0 :                             {
   17841            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17842            0 :                               tree res = generic_simplify_345 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17843            0 :                               if (res) return res;
   17844              :                             }
   17845              :                           }
   17846              :                         break;
   17847              :                       }
   17848              :                     default:;
   17849              :                     }
   17850              :                 }
   17851              :               break;
   17852              :             }
   17853        24170 :           case MULT_EXPR:
   17854        24170 :             {
   17855        24170 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17856        24170 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17857        24170 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17858              :                 {
   17859        19483 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17860              :                     {
   17861            0 :                       switch (TREE_CODE (_p2))
   17862              :                         {
   17863            0 :                         case MULT_EXPR:
   17864            0 :                           {
   17865            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17866            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17867            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17868              :                               {
   17869            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   17870              :                                   {
   17871            0 :                                     {
   17872            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17873            0 :                                       const enum tree_code op = MULT_EXPR;
   17874            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17875              : )
   17876              :                                         {
   17877            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1822;
   17878            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1822;
   17879            0 :                                           {
   17880            0 :                                             tree _r;
   17881            0 :                                             _r = captures[2];
   17882            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   17883            0 :                                             return _r;
   17884              :                                           }
   17885            0 : next_after_fail1822:;
   17886              :                                         }
   17887              :                                     }
   17888              :                                   }
   17889              :                               }
   17890              :                             break;
   17891              :                           }
   17892              :                         default:;
   17893              :                         }
   17894              :                     }
   17895              :                 }
   17896        24170 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17897              :                 {
   17898            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17899              :                     {
   17900            0 :                       switch (TREE_CODE (_p2))
   17901              :                         {
   17902            0 :                         case MULT_EXPR:
   17903            0 :                           {
   17904            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17905            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17906            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17907              :                               {
   17908            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   17909              :                                   {
   17910            0 :                                     {
   17911            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17912            0 :                                       const enum tree_code op = MULT_EXPR;
   17913            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17914              : )
   17915              :                                         {
   17916            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1823;
   17917            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1823;
   17918            0 :                                           {
   17919            0 :                                             tree _r;
   17920            0 :                                             _r = captures[2];
   17921            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   17922            0 :                                             return _r;
   17923              :                                           }
   17924            0 : next_after_fail1823:;
   17925              :                                         }
   17926              :                                     }
   17927              :                                   }
   17928              :                               }
   17929              :                             break;
   17930              :                           }
   17931              :                         default:;
   17932              :                         }
   17933              :                     }
   17934              :                 }
   17935              :               break;
   17936              :             }
   17937       110169 :           case PLUS_EXPR:
   17938       110169 :             {
   17939       110169 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17940       110169 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17941       110169 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17942              :                 {
   17943         2613 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17944              :                     {
   17945            0 :                       switch (TREE_CODE (_p2))
   17946              :                         {
   17947            0 :                         case PLUS_EXPR:
   17948            0 :                           {
   17949            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17950            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17951            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17952              :                               {
   17953            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   17954              :                                   {
   17955            0 :                                     {
   17956            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17957            0 :                                       const enum tree_code op = PLUS_EXPR;
   17958            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17959              : )
   17960              :                                         {
   17961            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1824;
   17962            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1824;
   17963            0 :                                           {
   17964            0 :                                             tree _r;
   17965            0 :                                             _r = captures[2];
   17966            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   17967            0 :                                             return _r;
   17968              :                                           }
   17969            0 : next_after_fail1824:;
   17970              :                                         }
   17971              :                                     }
   17972              :                                   }
   17973              :                               }
   17974              :                             break;
   17975              :                           }
   17976            0 :                         case MULT_EXPR:
   17977            0 :                           {
   17978            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17979            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17980            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17981              :                               {
   17982            0 :                                 if (uniform_integer_cst_p (_q81))
   17983              :                                   {
   17984            0 :                                     {
   17985            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   17986            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   17987              : )
   17988              :                                         {
   17989            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1825;
   17990            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1825;
   17991            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1825;
   17992            0 :                                           {
   17993            0 :                                             tree _r;
   17994            0 :                                             _r = captures[2];
   17995            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   17996            0 :                                             return _r;
   17997              :                                           }
   17998            0 : next_after_fail1825:;
   17999              :                                         }
   18000              :                                     }
   18001              :                                   }
   18002              :                               }
   18003            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18004              :                               {
   18005            0 :                                 if (uniform_integer_cst_p (_q81))
   18006              :                                   {
   18007            0 :                                     {
   18008            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   18009            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18010              : )
   18011              :                                         {
   18012            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1826;
   18013            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1826;
   18014            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1826;
   18015            0 :                                           {
   18016            0 :                                             tree _r;
   18017            0 :                                             _r = captures[2];
   18018            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   18019            0 :                                             return _r;
   18020              :                                           }
   18021            0 : next_after_fail1826:;
   18022              :                                         }
   18023              :                                     }
   18024              :                                   }
   18025              :                               }
   18026              :                             break;
   18027              :                           }
   18028              :                         default:;
   18029              :                         }
   18030              :                     }
   18031              :                 }
   18032       110169 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18033              :                 {
   18034            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18035              :                     {
   18036            0 :                       switch (TREE_CODE (_p2))
   18037              :                         {
   18038            0 :                         case PLUS_EXPR:
   18039            0 :                           {
   18040            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18041            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18042            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18043              :                               {
   18044            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   18045              :                                   {
   18046            0 :                                     {
   18047            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18048            0 :                                       const enum tree_code op = PLUS_EXPR;
   18049            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   18050              : )
   18051              :                                         {
   18052            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1827;
   18053            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1827;
   18054            0 :                                           {
   18055            0 :                                             tree _r;
   18056            0 :                                             _r = captures[2];
   18057            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   18058            0 :                                             return _r;
   18059              :                                           }
   18060            0 : next_after_fail1827:;
   18061              :                                         }
   18062              :                                     }
   18063              :                                   }
   18064              :                               }
   18065              :                             break;
   18066              :                           }
   18067            0 :                         case MULT_EXPR:
   18068            0 :                           {
   18069            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18070            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18071            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   18072              :                               {
   18073            0 :                                 if (uniform_integer_cst_p (_q81))
   18074              :                                   {
   18075            0 :                                     {
   18076            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   18077            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18078              : )
   18079              :                                         {
   18080            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1828;
   18081            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1828;
   18082            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1828;
   18083            0 :                                           {
   18084            0 :                                             tree _r;
   18085            0 :                                             _r = captures[2];
   18086            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   18087            0 :                                             return _r;
   18088              :                                           }
   18089            0 : next_after_fail1828:;
   18090              :                                         }
   18091              :                                     }
   18092              :                                   }
   18093              :                               }
   18094            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18095              :                               {
   18096            0 :                                 if (uniform_integer_cst_p (_q81))
   18097              :                                   {
   18098            0 :                                     {
   18099            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   18100            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18101              : )
   18102              :                                         {
   18103            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1829;
   18104            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1829;
   18105            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1829;
   18106            0 :                                           {
   18107            0 :                                             tree _r;
   18108            0 :                                             _r = captures[2];
   18109            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   18110            0 :                                             return _r;
   18111              :                                           }
   18112            0 : next_after_fail1829:;
   18113              :                                         }
   18114              :                                     }
   18115              :                                   }
   18116              :                               }
   18117              :                             break;
   18118              :                           }
   18119              :                         default:;
   18120              :                         }
   18121              :                     }
   18122              :                 }
   18123              :               break;
   18124              :             }
   18125      2802222 :           default:;
   18126              :           }
   18127      2802222 :         switch (TREE_CODE (_q21))
   18128              :           {
   18129      2155959 :           case INTEGER_CST:
   18130      2155959 :             {
   18131      2155959 :               switch (TREE_CODE (_p1))
   18132              :                 {
   18133          228 :                 case NEGATE_EXPR:
   18134          228 :                   {
   18135          228 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18136          228 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18137              :                       {
   18138           42 :                         switch (TREE_CODE (_p2))
   18139              :                           {
   18140           14 :                           case INTEGER_CST:
   18141           14 :                             {
   18142           14 :                               {
   18143           14 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18144           14 :                                 if (!TYPE_SATURATING (type)
   18145           28 :  && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   18146              : )
   18147              :                                   {
   18148           12 :                                     if (TYPE_OVERFLOW_WRAPS (type)
   18149            4 :  || !wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18150              : )
   18151              :                                       {
   18152           11 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1830;
   18153           11 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1830;
   18154           11 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1830;
   18155           11 :                                         {
   18156           11 :                                           tree _r;
   18157           11 :                                           _r = captures[2];
   18158           11 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18159            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18160           11 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   18161           11 :                                           return _r;
   18162              :                                         }
   18163            2 : next_after_fail1830:;
   18164              :                                       }
   18165              :                                     else
   18166              :                                       {
   18167            1 :                                         {
   18168            1 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18169            1 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1831;
   18170            1 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1831;
   18171            1 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1831;
   18172            1 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1831;
   18173            1 :                                             {
   18174            1 :                                               tree res_op0;
   18175            1 :                                               {
   18176            1 :                                                 tree _o1[1], _r1;
   18177            1 :                                                 {
   18178            1 :                                                   tree _o2[1], _r2;
   18179            1 :                                                   _o2[0] = captures[0];
   18180            1 :                                                   if (TREE_TYPE (_o2[0]) != utype)
   18181              :                                                     {
   18182            1 :                                                       _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
   18183              :                                                     }
   18184              :                                                   else
   18185              :                                                     _r2 = _o2[0];
   18186            1 :                                                   _o1[0] = _r2;
   18187              :                                                 }
   18188            1 :                                                 _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   18189            1 :                                                 res_op0 = _r1;
   18190              :                                               }
   18191            1 :                                               tree _r;
   18192            1 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18193            1 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18194            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18195            1 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   18196            1 :                                               return _r;
   18197              :                                             }
   18198            2 : next_after_fail1831:;
   18199              :                                         }
   18200              :                                       }
   18201              :                                   }
   18202              :                               }
   18203            2 :                               break;
   18204              :                             }
   18205              :                           default:;
   18206              :                           }
   18207              :                       }
   18208              :                     break;
   18209              :                   }
   18210           97 :                 case BIT_NOT_EXPR:
   18211           97 :                   {
   18212           97 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18213           97 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18214              :                       {
   18215           20 :                         switch (TREE_CODE (_p2))
   18216              :                           {
   18217           20 :                           case INTEGER_CST:
   18218           20 :                             {
   18219           20 :                               {
   18220           20 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18221           20 :                                 if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   18222              : )
   18223              :                                   {
   18224           20 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1832;
   18225           20 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1832;
   18226           20 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1832;
   18227           20 :                                     {
   18228           20 :                                       tree _r;
   18229           20 :                                       _r = captures[2];
   18230           20 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   18231            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18232           20 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   18233           20 :                                       return _r;
   18234              :                                     }
   18235            0 : next_after_fail1832:;
   18236              :                                   }
   18237              :                               }
   18238            0 :                               break;
   18239              :                             }
   18240              :                           default:;
   18241              :                           }
   18242              :                       }
   18243              :                     break;
   18244              :                   }
   18245            5 :                 case ABS_EXPR:
   18246            5 :                   {
   18247            5 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18248            5 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18249              :                       {
   18250            1 :                         switch (TREE_CODE (_p2))
   18251              :                           {
   18252            1 :                           case INTEGER_CST:
   18253            1 :                             {
   18254            1 :                               {
   18255            1 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18256            1 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   18257              : )
   18258              :                                   {
   18259            0 :                                     if (ABS_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18260              : )
   18261              :                                       {
   18262            0 :                                         {
   18263            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18264            0 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1833;
   18265            0 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1833;
   18266            0 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1833;
   18267            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1833;
   18268            0 :                                             {
   18269            0 :                                               tree res_op0;
   18270            0 :                                               {
   18271            0 :                                                 tree _o1[1], _r1;
   18272            0 :                                                 _o1[0] = captures[0];
   18273            0 :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   18274            0 :                                                 res_op0 = _r1;
   18275              :                                               }
   18276            0 :                                               tree _r;
   18277            0 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18278            0 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18279            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18280            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   18281            0 :                                               return _r;
   18282              :                                             }
   18283            1 : next_after_fail1833:;
   18284              :                                         }
   18285              :                                       }
   18286              :                                     else
   18287              :                                       {
   18288            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1834;
   18289            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1834;
   18290            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1834;
   18291            0 :                                         {
   18292            0 :                                           tree _r;
   18293            0 :                                           _r = captures[2];
   18294            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18295            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18296            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   18297            0 :                                           return _r;
   18298              :                                         }
   18299            1 : next_after_fail1834:;
   18300              :                                       }
   18301              :                                   }
   18302              :                               }
   18303            1 :                               break;
   18304              :                             }
   18305              :                           default:;
   18306              :                           }
   18307              :                       }
   18308              :                     break;
   18309              :                   }
   18310            0 :                 case ABSU_EXPR:
   18311            0 :                   {
   18312            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18313            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18314              :                       {
   18315            0 :                         switch (TREE_CODE (_p2))
   18316              :                           {
   18317            0 :                           case INTEGER_CST:
   18318            0 :                             {
   18319            0 :                               {
   18320            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18321            0 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   18322              : )
   18323              :                                   {
   18324            0 :                                     if (ABSU_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18325              : )
   18326              :                                       {
   18327              :                                         {
   18328              :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18329              :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1835;
   18330              :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1835;
   18331              :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1835;
   18332              :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1835;
   18333              :                                             {
   18334              :                                               tree res_op0;
   18335              :                                               {
   18336              :                                                 tree _o1[1], _r1;
   18337              :                                                 _o1[0] = captures[0];
   18338              :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   18339              :                                                 res_op0 = _r1;
   18340              :                                               }
   18341              :                                               tree _r;
   18342              :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18343              :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18344              :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18345              :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   18346              :                                               return _r;
   18347              :                                             }
   18348              : next_after_fail1835:;
   18349              :                                         }
   18350              :                                       }
   18351              :                                     else
   18352              :                                       {
   18353            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1836;
   18354            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1836;
   18355            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1836;
   18356            0 :                                         {
   18357            0 :                                           tree _r;
   18358            0 :                                           _r = captures[2];
   18359            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18360            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18361            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   18362            0 :                                           return _r;
   18363              :                                         }
   18364            0 : next_after_fail1836:;
   18365              :                                       }
   18366              :                                   }
   18367              :                               }
   18368            0 :                               break;
   18369              :                             }
   18370              :                           default:;
   18371              :                           }
   18372              :                       }
   18373              :                     break;
   18374              :                   }
   18375              :                 default:;
   18376              :                 }
   18377              :               break;
   18378              :             }
   18379              :           default:;
   18380              :           }
   18381              :         break;
   18382              :       }
   18383      1230295 :     case INTEGER_CST:
   18384      1230295 :       {
   18385      1230295 :         {
   18386      1230295 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   18387      1230295 :           if (integer_zerop (captures[0])
   18388              : )
   18389              :             {
   18390       645170 :               if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
   18391              : )
   18392              :                 {
   18393       636958 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1837;
   18394       463857 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1837;
   18395       451335 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1837;
   18396       451335 :                   {
   18397       451335 :                     tree _r;
   18398       451335 :                     _r = captures[2];
   18399       451335 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   18400            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18401       451335 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   18402       451335 :                     return _r;
   18403              :                   }
   18404       409556 : next_after_fail1837:;
   18405              :                 }
   18406              :             }
   18407              :           else
   18408              :             {
   18409       585125 :               if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
   18410              : )
   18411              :                 {
   18412       584133 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1838;
   18413       460053 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1838;
   18414       369404 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1838;
   18415       369404 :                   {
   18416       369404 :                     tree _r;
   18417       369404 :                     _r = captures[1];
   18418       369404 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   18419            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18420       369404 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   18421       369404 :                     return _r;
   18422              :                   }
   18423       409556 : next_after_fail1838:;
   18424              :                 }
   18425              :             }
   18426              :         }
   18427       409556 :         break;
   18428              :       }
   18429     11622536 :     default:;
   18430              :     }
   18431     11622536 :   switch (TREE_CODE (_p1))
   18432              :     {
   18433       806902 :     case COND_EXPR:
   18434       806902 :       {
   18435       806902 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18436       806902 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18437       806902 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18438       806902 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   18439              :           {
   18440          609 :             {
   18441          609 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   18442          609 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1839;
   18443          609 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1839;
   18444           55 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1839;
   18445           54 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1839;
   18446           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1839;
   18447           10 :               {
   18448           10 :                 tree res_op0;
   18449           10 :                 res_op0 = captures[0];
   18450           10 :                 tree res_op1;
   18451           10 :                 res_op1 = captures[1];
   18452           10 :                 tree res_op2;
   18453           10 :                 res_op2 = captures[3];
   18454           10 :                 tree _r;
   18455           10 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18456           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   18457           10 :                 return _r;
   18458              :               }
   18459          599 : next_after_fail1839:;
   18460              :             }
   18461              :           }
   18462              :         break;
   18463              :       }
   18464     11622526 :     default:;
   18465              :     }
   18466     11622526 :   switch (TREE_CODE (_p2))
   18467              :     {
   18468       852164 :     case COND_EXPR:
   18469       852164 :       {
   18470       852164 :         tree _q40 = TREE_OPERAND (_p2, 0);
   18471       852164 :         tree _q41 = TREE_OPERAND (_p2, 1);
   18472       852164 :         tree _q42 = TREE_OPERAND (_p2, 2);
   18473       852164 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   18474              :           {
   18475         3762 :             {
   18476         3762 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   18477         3762 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1840;
   18478         3762 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1840;
   18479         3762 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1840;
   18480          184 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1840;
   18481          184 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1840;
   18482          184 :               {
   18483          184 :                 tree res_op0;
   18484          184 :                 res_op0 = captures[0];
   18485          184 :                 tree res_op1;
   18486          184 :                 res_op1 = captures[1];
   18487          184 :                 tree res_op2;
   18488          184 :                 res_op2 = captures[3];
   18489          184 :                 tree _r;
   18490          184 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18491          184 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   18492          184 :                 return _r;
   18493              :               }
   18494         3578 : next_after_fail1840:;
   18495              :             }
   18496              :           }
   18497       851980 :         {
   18498       851980 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   18499       851980 :           if (inverse_conditions_p (captures[0], captures[2])
   18500              : )
   18501              :             {
   18502         1186 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1841;
   18503         1186 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1841;
   18504         1186 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1841;
   18505         1186 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1841;
   18506         1186 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1841;
   18507         1186 :               {
   18508         1186 :                 tree res_op0;
   18509         1186 :                 res_op0 = captures[0];
   18510         1186 :                 tree res_op1;
   18511         1186 :                 res_op1 = captures[1];
   18512         1186 :                 tree res_op2;
   18513         1186 :                 res_op2 = captures[3];
   18514         1186 :                 tree _r;
   18515         1186 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18516         1186 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   18517         1186 :                 return _r;
   18518              :               }
   18519       850794 : next_after_fail1841:;
   18520              :             }
   18521              :         }
   18522       850794 :         break;
   18523              :       }
   18524     11621156 :     default:;
   18525              :     }
   18526     11621156 :   switch (TREE_CODE (_p1))
   18527              :     {
   18528       806892 :     case COND_EXPR:
   18529       806892 :       {
   18530       806892 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18531       806892 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18532       806892 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18533       806892 :         {
   18534       806892 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   18535       806892 :           if (inverse_conditions_p (captures[0], captures[1])
   18536              : )
   18537              :             {
   18538          172 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1842;
   18539          172 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1842;
   18540            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1842;
   18541            2 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1842;
   18542            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1842;
   18543            2 :               {
   18544            2 :                 tree res_op0;
   18545            2 :                 res_op0 = captures[0];
   18546            2 :                 tree res_op1;
   18547            2 :                 res_op1 = captures[3];
   18548            2 :                 tree res_op2;
   18549            2 :                 res_op2 = captures[4];
   18550            2 :                 tree _r;
   18551            2 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18552            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18553            2 :                 return _r;
   18554              :               }
   18555       806890 : next_after_fail1842:;
   18556              :             }
   18557              :         }
   18558       806890 :         break;
   18559              :       }
   18560     11621154 :     default:;
   18561              :     }
   18562     11621154 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   18563              :     {
   18564        50806 :       {
   18565        50806 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   18566        50806 :         if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1843;
   18567        50806 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1843;
   18568        50806 :         {
   18569        50806 :           tree _r;
   18570        50806 :           _r = captures[1];
   18571        50806 :           if (TREE_SIDE_EFFECTS (captures[0]))
   18572          357 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18573        50806 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   18574        50806 :           return _r;
   18575              :         }
   18576            0 : next_after_fail1843:;
   18577              :       }
   18578              :     }
   18579     11570348 :   switch (TREE_CODE (_p0))
   18580              :     {
   18581      1652118 :     case EQ_EXPR:
   18582      1652118 :       {
   18583      1652118 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18584      1652118 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18585      1652118 :         if (zerop (_q21))
   18586              :           {
   18587       758756 :             switch (TREE_CODE (_p2))
   18588              :               {
   18589           36 :               case NEGATE_EXPR:
   18590           36 :                 {
   18591           36 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18592           36 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18593              :                     {
   18594           16 :                       {
   18595           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   18596           16 :                         const enum tree_code cmp = EQ_EXPR;
   18597           16 :                         if (!HONOR_SIGNED_ZEROS (type)
   18598           16 :  && bitwise_equal_p (captures[0], captures[1])
   18599              : )
   18600              :                           {
   18601            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1844;
   18602            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1844;
   18603            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1844;
   18604            0 :                             {
   18605            0 :                               tree _r;
   18606            0 :                               _r = captures[2];
   18607            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   18608            0 :                               return _r;
   18609              :                             }
   18610           16 : next_after_fail1844:;
   18611              :                           }
   18612              :                       }
   18613              :                     }
   18614              :                   break;
   18615              :                 }
   18616       758756 :               default:;
   18617              :               }
   18618       758756 :             if (zerop (_p1))
   18619              :               {
   18620        44713 :                 switch (TREE_CODE (_p2))
   18621              :                   {
   18622           14 :                   case NEGATE_EXPR:
   18623           14 :                     {
   18624           14 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   18625           14 :                       {
   18626           14 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   18627           14 :                         const enum tree_code cmp = EQ_EXPR;
   18628           14 :                         if (!HONOR_SIGNED_ZEROS (type)
   18629           14 :  && bitwise_equal_p (captures[0], captures[2])
   18630              : )
   18631              :                           {
   18632            7 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1845;
   18633            7 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1845;
   18634            7 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1845;
   18635            7 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1845;
   18636            7 :                             {
   18637            7 :                               tree _r;
   18638            7 :                               _r = captures[1];
   18639            7 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   18640            7 :                               return _r;
   18641              :                             }
   18642            7 : next_after_fail1845:;
   18643              :                           }
   18644              :                       }
   18645            7 :                       break;
   18646              :                     }
   18647              :                   default:;
   18648              :                   }
   18649              :               }
   18650              :           }
   18651      1652111 :         switch (TREE_CODE (_q20))
   18652              :           {
   18653            0 :           case MINUS_EXPR:
   18654            0 :             {
   18655            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18656            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18657            0 :               if (zerop (_q21))
   18658              :                 {
   18659            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18660              :                     {
   18661            0 :                       switch (TREE_CODE (_p2))
   18662              :                         {
   18663            0 :                         case MINUS_EXPR:
   18664            0 :                           {
   18665            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18666            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18667            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18668              :                               {
   18669            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18670              :                                   {
   18671            0 :                                     {
   18672            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18673            0 :                                       const enum tree_code cmp = EQ_EXPR;
   18674            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18675              : )
   18676              :                                         {
   18677            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1846;
   18678            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1846;
   18679            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1846;
   18680            0 :                                           {
   18681            0 :                                             tree _r;
   18682            0 :                                             _r = captures[3];
   18683            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   18684            0 :                                             return _r;
   18685              :                                           }
   18686            0 : next_after_fail1846:;
   18687              :                                         }
   18688              :                                     }
   18689              :                                   }
   18690              :                               }
   18691              :                             break;
   18692              :                           }
   18693              :                         default:;
   18694              :                         }
   18695              :                     }
   18696              :                 }
   18697            0 :               if (integer_zerop (_q21))
   18698              :                 {
   18699            0 :                   if (integer_zerop (_p1))
   18700              :                     {
   18701            0 :                       switch (TREE_CODE (_p2))
   18702              :                         {
   18703            0 :                         case MINUS_EXPR:
   18704            0 :                           {
   18705            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18706            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18707            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18708              :                               {
   18709            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18710              :                                   {
   18711            0 :                                     {
   18712            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18713            0 :                                       tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   18714            0 :                                       if (res) return res;
   18715              :                                     }
   18716              :                                   }
   18717              :                               }
   18718              :                             break;
   18719              :                           }
   18720              :                         default:;
   18721              :                         }
   18722              :                     }
   18723              :                 }
   18724              :               break;
   18725              :             }
   18726        59820 :           case CALL_EXPR:
   18727        59820 :             switch (get_call_combined_fn (_q20))
   18728              :               {
   18729            0 :               case CFN_BUILT_IN_SIGNBITF:
   18730            0 :                 if (call_expr_nargs (_q20) == 1)
   18731              :     {
   18732            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18733            0 :                     if (integer_zerop (_q21))
   18734              :                       {
   18735            0 :                         switch (TREE_CODE (_p1))
   18736              :                           {
   18737            0 :                           case NEGATE_EXPR:
   18738            0 :                             {
   18739            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18740            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18741              :                                 {
   18742            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18743              :                                     {
   18744            0 :                                       {
   18745            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18746            0 :                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITF);
   18747            0 :                                         if (res) return res;
   18748              :                                       }
   18749              :                                     }
   18750              :                                 }
   18751              :                               break;
   18752              :                             }
   18753              :                           default:;
   18754              :                           }
   18755              :                       }
   18756              :                   }
   18757              :                 break;
   18758            0 :               case CFN_BUILT_IN_SIGNBITL:
   18759            0 :                 if (call_expr_nargs (_q20) == 1)
   18760              :     {
   18761            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18762            0 :                     if (integer_zerop (_q21))
   18763              :                       {
   18764            0 :                         switch (TREE_CODE (_p1))
   18765              :                           {
   18766            0 :                           case NEGATE_EXPR:
   18767            0 :                             {
   18768            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18769            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18770              :                                 {
   18771            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18772              :                                     {
   18773            0 :                                       {
   18774            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18775            0 :                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITL);
   18776            0 :                                         if (res) return res;
   18777              :                                       }
   18778              :                                     }
   18779              :                                 }
   18780              :                               break;
   18781              :                             }
   18782              :                           default:;
   18783              :                           }
   18784              :                       }
   18785              :                   }
   18786              :                 break;
   18787            0 :               case CFN_SIGNBIT:
   18788            0 :                 if (call_expr_nargs (_q20) == 1)
   18789              :     {
   18790            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18791            0 :                     if (integer_zerop (_q21))
   18792              :                       {
   18793            0 :                         switch (TREE_CODE (_p1))
   18794              :                           {
   18795            0 :                           case NEGATE_EXPR:
   18796            0 :                             {
   18797            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18798            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18799              :                                 {
   18800            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18801              :                                     {
   18802            0 :                                       {
   18803            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18804            0 :                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_SIGNBIT);
   18805            0 :                                         if (res) return res;
   18806              :                                       }
   18807              :                                     }
   18808              :                                 }
   18809              :                               break;
   18810              :                             }
   18811              :                           default:;
   18812              :                           }
   18813              :                       }
   18814              :                   }
   18815              :                 break;
   18816          411 :               case CFN_BUILT_IN_SIGNBIT:
   18817          411 :                 if (call_expr_nargs (_q20) == 1)
   18818              :     {
   18819          411 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18820          411 :                     if (integer_zerop (_q21))
   18821              :                       {
   18822          411 :                         switch (TREE_CODE (_p1))
   18823              :                           {
   18824            3 :                           case NEGATE_EXPR:
   18825            3 :                             {
   18826            3 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18827            3 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18828              :                                 {
   18829            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18830              :                                     {
   18831            3 :                                       {
   18832            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18833            3 :                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBIT);
   18834            3 :                                         if (res) return res;
   18835              :                                       }
   18836              :                                     }
   18837              :                                 }
   18838              :                               break;
   18839              :                             }
   18840              :                           default:;
   18841              :                           }
   18842              :                       }
   18843              :                   }
   18844              :                 break;
   18845              :               default:;
   18846              :               }
   18847              :             break;
   18848              :           default:;
   18849              :           }
   18850              :         break;
   18851              :       }
   18852          164 :     case UNEQ_EXPR:
   18853          164 :       {
   18854          164 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18855          164 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18856          164 :         if (zerop (_q21))
   18857              :           {
   18858            1 :             switch (TREE_CODE (_p2))
   18859              :               {
   18860            0 :               case NEGATE_EXPR:
   18861            0 :                 {
   18862            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18863            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18864              :                     {
   18865            0 :                       {
   18866            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   18867            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   18868            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   18869            0 :  && bitwise_equal_p (captures[0], captures[1])
   18870              : )
   18871              :                           {
   18872            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1847;
   18873            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1847;
   18874            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1847;
   18875            0 :                             {
   18876            0 :                               tree _r;
   18877            0 :                               _r = captures[2];
   18878            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   18879            0 :                               return _r;
   18880              :                             }
   18881            0 : next_after_fail1847:;
   18882              :                           }
   18883              :                       }
   18884              :                     }
   18885              :                   break;
   18886              :                 }
   18887            1 :               default:;
   18888              :               }
   18889            1 :             if (zerop (_p1))
   18890              :               {
   18891            0 :                 switch (TREE_CODE (_p2))
   18892              :                   {
   18893            0 :                   case NEGATE_EXPR:
   18894            0 :                     {
   18895            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   18896            0 :                       {
   18897            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   18898            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   18899            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   18900            0 :  && bitwise_equal_p (captures[0], captures[2])
   18901              : )
   18902              :                           {
   18903            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1848;
   18904            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1848;
   18905            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1848;
   18906            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1848;
   18907            0 :                             {
   18908            0 :                               tree _r;
   18909            0 :                               _r = captures[1];
   18910            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   18911            0 :                               return _r;
   18912              :                             }
   18913            0 : next_after_fail1848:;
   18914              :                           }
   18915              :                       }
   18916            0 :                       break;
   18917              :                     }
   18918              :                   default:;
   18919              :                   }
   18920              :               }
   18921              :           }
   18922          164 :         switch (TREE_CODE (_q20))
   18923              :           {
   18924            0 :           case MINUS_EXPR:
   18925            0 :             {
   18926            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18927            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18928            0 :               if (zerop (_q21))
   18929              :                 {
   18930            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18931              :                     {
   18932            0 :                       switch (TREE_CODE (_p2))
   18933              :                         {
   18934            0 :                         case MINUS_EXPR:
   18935            0 :                           {
   18936            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18937            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18938            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18939              :                               {
   18940            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18941              :                                   {
   18942            0 :                                     {
   18943            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18944            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   18945            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18946              : )
   18947              :                                         {
   18948            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1849;
   18949            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1849;
   18950            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1849;
   18951            0 :                                           {
   18952            0 :                                             tree _r;
   18953            0 :                                             _r = captures[3];
   18954            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   18955            0 :                                             return _r;
   18956              :                                           }
   18957            0 : next_after_fail1849:;
   18958              :                                         }
   18959              :                                     }
   18960              :                                   }
   18961              :                               }
   18962              :                             break;
   18963              :                           }
   18964              :                         default:;
   18965              :                         }
   18966              :                     }
   18967              :                 }
   18968            0 :               if (integer_zerop (_q21))
   18969              :                 {
   18970            0 :                   if (integer_zerop (_p1))
   18971              :                     {
   18972            0 :                       switch (TREE_CODE (_p2))
   18973              :                         {
   18974            0 :                         case MINUS_EXPR:
   18975            0 :                           {
   18976            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18977            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18978            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18979              :                               {
   18980            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18981              :                                   {
   18982            0 :                                     {
   18983            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18984            0 :                                       tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   18985            0 :                                       if (res) return res;
   18986              :                                     }
   18987              :                                   }
   18988              :                               }
   18989              :                             break;
   18990              :                           }
   18991              :                         default:;
   18992              :                         }
   18993              :                     }
   18994              :                 }
   18995              :               break;
   18996              :             }
   18997              :           default:;
   18998              :           }
   18999              :         break;
   19000              :       }
   19001      2800083 :     case NE_EXPR:
   19002      2800083 :       {
   19003      2800083 :         tree _q20 = TREE_OPERAND (_p0, 0);
   19004      2800083 :         tree _q21 = TREE_OPERAND (_p0, 1);
   19005      2800083 :         if (zerop (_q21))
   19006              :           {
   19007      1925115 :             switch (TREE_CODE (_p2))
   19008              :               {
   19009           50 :               case NEGATE_EXPR:
   19010           50 :                 {
   19011           50 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19012           50 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19013              :                     {
   19014           10 :                       {
   19015           10 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19016           10 :                         const enum tree_code cmp = NE_EXPR;
   19017           10 :                         if (!HONOR_SIGNED_ZEROS (type)
   19018           10 :  && bitwise_equal_p (captures[0], captures[1])
   19019              : )
   19020              :                           {
   19021            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1850;
   19022            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1850;
   19023            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1850;
   19024            0 :                             {
   19025            0 :                               tree _r;
   19026            0 :                               _r = captures[1];
   19027            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   19028            0 :                               return _r;
   19029              :                             }
   19030           10 : next_after_fail1850:;
   19031              :                           }
   19032              :                       }
   19033              :                     }
   19034              :                   break;
   19035              :                 }
   19036      1925115 :               default:;
   19037              :               }
   19038      1925115 :           if (integer_zerop (_p2))
   19039              :             {
   19040       316211 :               {
   19041       316211 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19042       316211 :                 const enum tree_code cmp = NE_EXPR;
   19043       316211 :                 if (!HONOR_SIGNED_ZEROS (type)
   19044       316211 :  && bitwise_equal_p (captures[0], captures[1])
   19045              : )
   19046              :                   {
   19047          530 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1851;
   19048          498 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1851;
   19049          498 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1851;
   19050          498 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1851;
   19051          498 :                     {
   19052          498 :                       tree _r;
   19053          498 :                       _r = captures[1];
   19054          498 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   19055          498 :                       return _r;
   19056              :                     }
   19057       315713 : next_after_fail1851:;
   19058              :                   }
   19059              :               }
   19060              :             }
   19061              :           }
   19062      2799585 :         switch (TREE_CODE (_q20))
   19063              :           {
   19064          563 :           case MINUS_EXPR:
   19065          563 :             {
   19066          563 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19067          563 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19068          563 :               if (zerop (_q21))
   19069              :                 {
   19070           76 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19071              :                     {
   19072            0 :                       switch (TREE_CODE (_p2))
   19073              :                         {
   19074            0 :                         case MINUS_EXPR:
   19075            0 :                           {
   19076            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19077            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19078            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19079              :                               {
   19080            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19081              :                                   {
   19082            0 :                                     {
   19083            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19084            0 :                                       const enum tree_code cmp = NE_EXPR;
   19085            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19086              : )
   19087              :                                         {
   19088            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1852;
   19089            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1852;
   19090            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1852;
   19091            0 :                                           {
   19092            0 :                                             tree _r;
   19093            0 :                                             _r = captures[0];
   19094            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   19095            0 :                                             return _r;
   19096              :                                           }
   19097            0 : next_after_fail1852:;
   19098              :                                         }
   19099              :                                     }
   19100              :                                   }
   19101              :                               }
   19102              :                             break;
   19103              :                           }
   19104              :                         default:;
   19105              :                         }
   19106              :                     }
   19107              :                 }
   19108          563 :               if (integer_zerop (_q21))
   19109              :                 {
   19110           25 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19111              :                     {
   19112            0 :                       if (integer_zerop (_p2))
   19113              :                         {
   19114            0 :                           {
   19115            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19116            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   19117            0 :                             if (res) return res;
   19118              :                           }
   19119              :                         }
   19120              :                     }
   19121              :                 }
   19122              :               break;
   19123              :             }
   19124       276337 :           case BIT_AND_EXPR:
   19125       276337 :             {
   19126       276337 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19127       276337 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19128       276337 :               if (integer_pow2p (_q31))
   19129              :                 {
   19130       204044 :                   if (integer_zerop (_q21))
   19131              :                     {
   19132       204044 :                       switch (TREE_CODE (_p1))
   19133              :                         {
   19134         2330 :                         case INTEGER_CST:
   19135         2330 :                           {
   19136         2330 :                             if (integer_zerop (_p2))
   19137              :                               {
   19138         1407 :                                 {
   19139         1407 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   19140         1407 :                                   if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
   19141              : )
   19142              :                                     {
   19143          652 :                                       {
   19144          652 :  int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
   19145          652 :  - wi::exact_log2 (wi::to_wide (captures[1])));
   19146          652 :                                           if (shift > 0
   19147              : )
   19148              :                                             {
   19149          377 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1853;
   19150          377 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1853;
   19151          377 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1853;
   19152          377 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1853;
   19153          377 :                                               {
   19154          377 :                                                 tree res_op0;
   19155          377 :                                                 {
   19156          377 :                                                   tree _o1[2], _r1;
   19157          377 :                                                   {
   19158          377 :                                                     tree _o2[1], _r2;
   19159          377 :                                                     _o2[0] = captures[0];
   19160          377 :                                                     if (TREE_TYPE (_o2[0]) != type)
   19161              :                                                       {
   19162          374 :                                                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
   19163              :                                                       }
   19164              :                                                     else
   19165              :                                                       _r2 = _o2[0];
   19166          377 :                                                     _o1[0] = _r2;
   19167              :                                                   }
   19168          377 :                                                   _o1[1] =  build_int_cst (integer_type_node, shift);
   19169          377 :                                                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   19170          377 :                                                   res_op0 = _r1;
   19171              :                                                 }
   19172          377 :                                                 tree res_op1;
   19173          377 :                                                 res_op1 = captures[2];
   19174          377 :                                                 tree _r;
   19175          377 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19176          377 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   19177          652 :                                                 return _r;
   19178              :                                               }
   19179              : next_after_fail1853:;
   19180              :                                             }
   19181              :                                           else
   19182              :                                             {
   19183          275 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1854;
   19184          275 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1854;
   19185          275 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1854;
   19186          275 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1854;
   19187          275 :                                               {
   19188          275 :                                                 tree res_op0;
   19189          275 :                                                 {
   19190          275 :                                                   tree _o1[1], _r1;
   19191          275 :                                                   {
   19192          275 :                                                     tree _o2[2], _r2;
   19193          275 :                                                     _o2[0] = captures[0];
   19194          275 :                                                     _o2[1] =  build_int_cst (integer_type_node, -shift);
   19195          275 :                                                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   19196          275 :                                                     _o1[0] = _r2;
   19197              :                                                   }
   19198          275 :                                                   if (TREE_TYPE (_o1[0]) != type)
   19199              :                                                     {
   19200          139 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   19201              :                                                     }
   19202              :                                                   else
   19203              :                                                     _r1 = _o1[0];
   19204          275 :                                                   res_op0 = _r1;
   19205              :                                                 }
   19206          275 :                                                 tree res_op1;
   19207          275 :                                                 res_op1 = captures[2];
   19208          275 :                                                 tree _r;
   19209          275 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19210          275 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   19211          275 :                                                 return _r;
   19212              :                                               }
   19213              : next_after_fail1854:;
   19214              :                                             }
   19215              :                                       }
   19216              :                                     }
   19217              :                                 }
   19218              :                               }
   19219              :                             break;
   19220              :                           }
   19221              :                         default:;
   19222              :                         }
   19223              :                     }
   19224              :                 }
   19225              :               break;
   19226              :             }
   19227       320425 :           case CALL_EXPR:
   19228       320425 :             switch (get_call_combined_fn (_q20))
   19229              :               {
   19230           30 :               case CFN_BUILT_IN_SIGNBITF:
   19231           30 :                 if (call_expr_nargs (_q20) == 1)
   19232              :     {
   19233           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19234           30 :                     if (integer_zerop (_q21))
   19235              :                       {
   19236           30 :                         switch (TREE_CODE (_p1))
   19237              :                           {
   19238            0 :                           case NEGATE_EXPR:
   19239            0 :                             {
   19240            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19241            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19242              :                                 {
   19243            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19244              :                                     {
   19245            0 :                                       {
   19246            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19247            0 :                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITF);
   19248            0 :                                         if (res) return res;
   19249              :                                       }
   19250              :                                     }
   19251              :                                 }
   19252              :                               break;
   19253              :                             }
   19254              :                           default:;
   19255              :                           }
   19256              :                       }
   19257              :                   }
   19258              :                 break;
   19259           30 :               case CFN_BUILT_IN_SIGNBITL:
   19260           30 :                 if (call_expr_nargs (_q20) == 1)
   19261              :     {
   19262           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19263           30 :                     if (integer_zerop (_q21))
   19264              :                       {
   19265           30 :                         switch (TREE_CODE (_p1))
   19266              :                           {
   19267            0 :                           case NEGATE_EXPR:
   19268            0 :                             {
   19269            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19270            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19271              :                                 {
   19272            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19273              :                                     {
   19274            0 :                                       {
   19275            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19276            0 :                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITL);
   19277            0 :                                         if (res) return res;
   19278              :                                       }
   19279              :                                     }
   19280              :                                 }
   19281              :                               break;
   19282              :                             }
   19283              :                           default:;
   19284              :                           }
   19285              :                       }
   19286              :                   }
   19287              :                 break;
   19288            0 :               case CFN_SIGNBIT:
   19289            0 :                 if (call_expr_nargs (_q20) == 1)
   19290              :     {
   19291            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19292            0 :                     if (integer_zerop (_q21))
   19293              :                       {
   19294            0 :                         switch (TREE_CODE (_p1))
   19295              :                           {
   19296            0 :                           case NEGATE_EXPR:
   19297            0 :                             {
   19298            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19299            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19300              :                                 {
   19301            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19302              :                                     {
   19303            0 :                                       {
   19304            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19305            0 :                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_SIGNBIT);
   19306            0 :                                         if (res) return res;
   19307              :                                       }
   19308              :                                     }
   19309              :                                 }
   19310              :                               break;
   19311              :                             }
   19312              :                           default:;
   19313              :                           }
   19314              :                       }
   19315              :                   }
   19316              :                 break;
   19317         2896 :               case CFN_BUILT_IN_SIGNBIT:
   19318         2896 :                 if (call_expr_nargs (_q20) == 1)
   19319              :     {
   19320         2896 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19321         2896 :                     if (integer_zerop (_q21))
   19322              :                       {
   19323         2896 :                         switch (TREE_CODE (_p1))
   19324              :                           {
   19325            4 :                           case NEGATE_EXPR:
   19326            4 :                             {
   19327            4 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19328            4 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19329              :                                 {
   19330            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19331              :                                     {
   19332            3 :                                       {
   19333            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19334            3 :                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBIT);
   19335            3 :                                         if (res) return res;
   19336              :                                       }
   19337              :                                     }
   19338              :                                 }
   19339              :                               break;
   19340              :                             }
   19341              :                           default:;
   19342              :                           }
   19343              :                       }
   19344              :                   }
   19345              :                 break;
   19346              :               default:;
   19347              :               }
   19348              :             break;
   19349      2798930 :           default:;
   19350              :           }
   19351      2798930 :         if (integer_zerop (_q21))
   19352              :           {
   19353      1853518 :             switch (TREE_CODE (_p1))
   19354              :               {
   19355        96337 :               case PLUS_EXPR:
   19356        96337 :                 {
   19357        96337 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   19358        96337 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   19359        96337 :                   {
   19360        96337 :                     tree _q50_pops[1];
   19361        96337 :                     if (tree_nop_convert (_q50, _q50_pops))
   19362              :                       {
   19363        11666 :                         tree _q60 = _q50_pops[0];
   19364        11666 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19365              :                           {
   19366         1714 :                             if (integer_all_onesp (_q51))
   19367              :                               {
   19368         1714 :                                 if (integer_zerop (_p2))
   19369              :                                   {
   19370         1708 :                                     {
   19371         1708 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   19372         1708 :                                       tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures);
   19373         1708 :                                       if (res) return res;
   19374              :                                     }
   19375              :                                   }
   19376              :                               }
   19377              :                           }
   19378              :                       }
   19379              :                   }
   19380        94629 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19381              :                     {
   19382         2038 :                       if (integer_all_onesp (_q51))
   19383              :                         {
   19384         2003 :                           if (integer_zerop (_p2))
   19385              :                             {
   19386         1995 :                               {
   19387         1995 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   19388         1995 :                                 tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures);
   19389         1995 :                                 if (res) return res;
   19390              :                               }
   19391              :                             }
   19392              :                         }
   19393              :                     }
   19394              :                   break;
   19395              :                 }
   19396       567461 :               case CALL_EXPR:
   19397       567461 :                 switch (get_call_combined_fn (_p1))
   19398              :                   {
   19399            0 :                   case CFN_PARITY:
   19400            0 :                     if (call_expr_nargs (_p1) == 1)
   19401              :     {
   19402            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19403            0 :                         switch (TREE_CODE (_q50))
   19404              :                           {
   19405            0 :                           CASE_CONVERT:
   19406            0 :                             {
   19407            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19408            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19409              :                                 {
   19410            0 :                                   if (integer_zerop (_p2))
   19411              :                                     {
   19412            0 :                                       {
   19413            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19414            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   19415            0 :                                         if (res) return res;
   19416              :                                       }
   19417              :                                     }
   19418              :                                 }
   19419              :                               break;
   19420              :                             }
   19421            0 :                           default:;
   19422              :                           }
   19423            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19424              :                           {
   19425            0 :                             if (integer_zerop (_p2))
   19426              :                               {
   19427            0 :                                 {
   19428            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19429            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   19430            0 :                                   if (res) return res;
   19431              :                                 }
   19432              :                               }
   19433              :                           }
   19434              :                       }
   19435              :                     break;
   19436            7 :                   case CFN_BUILT_IN_FFS:
   19437            7 :                     if (call_expr_nargs (_p1) == 1)
   19438              :     {
   19439            7 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19440            7 :                         switch (TREE_CODE (_q50))
   19441              :                           {
   19442            0 :                           CASE_CONVERT:
   19443            0 :                             {
   19444            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19445            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19446              :                                 {
   19447            0 :                                   if (integer_zerop (_p2))
   19448              :                                     {
   19449            0 :                                       {
   19450            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19451            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   19452            0 :                                         if (res) return res;
   19453              :                                       }
   19454              :                                     }
   19455              :                                 }
   19456              :                               break;
   19457              :                             }
   19458            7 :                           default:;
   19459              :                           }
   19460            7 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19461              :                           {
   19462            0 :                             if (integer_zerop (_p2))
   19463              :                               {
   19464            0 :                                 {
   19465            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19466            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   19467            0 :                                   if (res) return res;
   19468              :                                 }
   19469              :                               }
   19470              :                           }
   19471              :                       }
   19472              :                     break;
   19473            0 :                   case CFN_BUILT_IN_FFSIMAX:
   19474            0 :                     if (call_expr_nargs (_p1) == 1)
   19475              :     {
   19476            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19477            0 :                         switch (TREE_CODE (_q50))
   19478              :                           {
   19479            0 :                           CASE_CONVERT:
   19480            0 :                             {
   19481            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19482            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19483              :                                 {
   19484            0 :                                   if (integer_zerop (_p2))
   19485              :                                     {
   19486            0 :                                       {
   19487            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19488            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   19489            0 :                                         if (res) return res;
   19490              :                                       }
   19491              :                                     }
   19492              :                                 }
   19493              :                               break;
   19494              :                             }
   19495            0 :                           default:;
   19496              :                           }
   19497            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19498              :                           {
   19499            0 :                             if (integer_zerop (_p2))
   19500              :                               {
   19501            0 :                                 {
   19502            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19503            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   19504            0 :                                   if (res) return res;
   19505              :                                 }
   19506              :                               }
   19507              :                           }
   19508              :                       }
   19509              :                     break;
   19510            2 :                   case CFN_BUILT_IN_POPCOUNT:
   19511            2 :                     if (call_expr_nargs (_p1) == 1)
   19512              :     {
   19513            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19514            2 :                         switch (TREE_CODE (_q50))
   19515              :                           {
   19516            1 :                           CASE_CONVERT:
   19517            1 :                             {
   19518            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19519            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19520              :                                 {
   19521            1 :                                   if (integer_zerop (_p2))
   19522              :                                     {
   19523            1 :                                       {
   19524            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19525            1 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   19526            1 :                                         if (res) return res;
   19527              :                                       }
   19528              :                                     }
   19529              :                                 }
   19530              :                               break;
   19531              :                             }
   19532            1 :                           default:;
   19533              :                           }
   19534            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19535              :                           {
   19536            0 :                             if (integer_zerop (_p2))
   19537              :                               {
   19538            0 :                                 {
   19539            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19540            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   19541            0 :                                   if (res) return res;
   19542              :                                 }
   19543              :                               }
   19544              :                           }
   19545              :                       }
   19546              :                     break;
   19547            2 :                   case CFN_BUILT_IN_PARITYL:
   19548            2 :                     if (call_expr_nargs (_p1) == 1)
   19549              :     {
   19550            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19551            2 :                         switch (TREE_CODE (_q50))
   19552              :                           {
   19553            1 :                           CASE_CONVERT:
   19554            1 :                             {
   19555            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19556            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19557              :                                 {
   19558            1 :                                   if (integer_zerop (_p2))
   19559              :                                     {
   19560            1 :                                       {
   19561            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19562            1 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19563            1 :                                         if (res) return res;
   19564              :                                       }
   19565              :                                     }
   19566              :                                 }
   19567              :                               break;
   19568              :                             }
   19569            1 :                           default:;
   19570              :                           }
   19571            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19572              :                           {
   19573            0 :                             if (integer_zerop (_p2))
   19574              :                               {
   19575            0 :                                 {
   19576            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19577            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19578            0 :                                   if (res) return res;
   19579              :                                 }
   19580              :                               }
   19581              :                           }
   19582              :                       }
   19583              :                     break;
   19584           16 :                   case CFN_BUILT_IN_FFSL:
   19585           16 :                     if (call_expr_nargs (_p1) == 1)
   19586              :     {
   19587           16 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19588           16 :                         switch (TREE_CODE (_q50))
   19589              :                           {
   19590           16 :                           CASE_CONVERT:
   19591           16 :                             {
   19592           16 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19593           16 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19594              :                                 {
   19595            0 :                                   if (integer_zerop (_p2))
   19596              :                                     {
   19597            0 :                                       {
   19598            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19599            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19600            0 :                                         if (res) return res;
   19601              :                                       }
   19602              :                                     }
   19603              :                                 }
   19604              :                               break;
   19605              :                             }
   19606           16 :                           default:;
   19607              :                           }
   19608           16 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19609              :                           {
   19610            0 :                             if (integer_zerop (_p2))
   19611              :                               {
   19612            0 :                                 {
   19613            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19614            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19615            0 :                                   if (res) return res;
   19616              :                                 }
   19617              :                               }
   19618              :                           }
   19619              :                       }
   19620              :                     break;
   19621            2 :                   case CFN_BUILT_IN_POPCOUNTLL:
   19622            2 :                     if (call_expr_nargs (_p1) == 1)
   19623              :     {
   19624            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19625            2 :                         switch (TREE_CODE (_q50))
   19626              :                           {
   19627            1 :                           CASE_CONVERT:
   19628            1 :                             {
   19629            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19630            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19631              :                                 {
   19632            1 :                                   if (integer_zerop (_p2))
   19633              :                                     {
   19634            1 :                                       {
   19635            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19636            1 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19637            1 :                                         if (res) return res;
   19638              :                                       }
   19639              :                                     }
   19640              :                                 }
   19641              :                               break;
   19642              :                             }
   19643            1 :                           default:;
   19644              :                           }
   19645            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19646              :                           {
   19647            0 :                             if (integer_zerop (_p2))
   19648              :                               {
   19649            0 :                                 {
   19650            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19651            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19652            0 :                                   if (res) return res;
   19653              :                                 }
   19654              :                               }
   19655              :                           }
   19656              :                       }
   19657              :                     break;
   19658            0 :                   case CFN_POPCOUNT:
   19659            0 :                     if (call_expr_nargs (_p1) == 1)
   19660              :     {
   19661            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19662            0 :                         switch (TREE_CODE (_q50))
   19663              :                           {
   19664            0 :                           CASE_CONVERT:
   19665            0 :                             {
   19666            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19667            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19668              :                                 {
   19669            0 :                                   if (integer_zerop (_p2))
   19670              :                                     {
   19671            0 :                                       {
   19672            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19673            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19674            0 :                                         if (res) return res;
   19675              :                                       }
   19676              :                                     }
   19677              :                                 }
   19678              :                               break;
   19679              :                             }
   19680            0 :                           default:;
   19681              :                           }
   19682            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19683              :                           {
   19684            0 :                             if (integer_zerop (_p2))
   19685              :                               {
   19686            0 :                                 {
   19687            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19688            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19689            0 :                                   if (res) return res;
   19690              :                                 }
   19691              :                               }
   19692              :                           }
   19693              :                       }
   19694              :                     break;
   19695            0 :                   case CFN_BUILT_IN_PARITYIMAX:
   19696            0 :                     if (call_expr_nargs (_p1) == 1)
   19697              :     {
   19698            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19699            0 :                         switch (TREE_CODE (_q50))
   19700              :                           {
   19701            0 :                           CASE_CONVERT:
   19702            0 :                             {
   19703            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19704            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19705              :                                 {
   19706            0 :                                   if (integer_zerop (_p2))
   19707              :                                     {
   19708            0 :                                       {
   19709            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19710            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19711            0 :                                         if (res) return res;
   19712              :                                       }
   19713              :                                     }
   19714              :                                 }
   19715              :                               break;
   19716              :                             }
   19717            0 :                           default:;
   19718              :                           }
   19719            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19720              :                           {
   19721            0 :                             if (integer_zerop (_p2))
   19722              :                               {
   19723            0 :                                 {
   19724            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19725            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19726            0 :                                   if (res) return res;
   19727              :                                 }
   19728              :                               }
   19729              :                           }
   19730              :                       }
   19731              :                     break;
   19732            2 :                   case CFN_BUILT_IN_CLRSBL:
   19733            2 :                     if (call_expr_nargs (_p1) == 1)
   19734              :     {
   19735            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19736            2 :                         switch (TREE_CODE (_q50))
   19737              :                           {
   19738            0 :                           CASE_CONVERT:
   19739            0 :                             {
   19740            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19741            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19742              :                                 {
   19743            0 :                                   switch (TREE_CODE (_p2))
   19744              :                                     {
   19745            0 :                                     case INTEGER_CST:
   19746            0 :                                       {
   19747            0 :                                         {
   19748            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19749            0 :                                           tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19750            0 :                                           if (res) return res;
   19751              :                                         }
   19752            0 :                                         break;
   19753              :                                       }
   19754              :                                     default:;
   19755              :                                     }
   19756              :                                 }
   19757              :                               break;
   19758              :                             }
   19759            2 :                           default:;
   19760              :                           }
   19761            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19762              :                           {
   19763            1 :                             switch (TREE_CODE (_p2))
   19764              :                               {
   19765            1 :                               case INTEGER_CST:
   19766            1 :                                 {
   19767            1 :                                   {
   19768            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19769            1 :                                     tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19770            1 :                                     if (res) return res;
   19771              :                                   }
   19772            0 :                                   break;
   19773              :                                 }
   19774              :                               default:;
   19775              :                               }
   19776              :                           }
   19777              :                       }
   19778              :                     break;
   19779            0 :                   case CFN_FFS:
   19780            0 :                     if (call_expr_nargs (_p1) == 1)
   19781              :     {
   19782            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19783            0 :                         switch (TREE_CODE (_q50))
   19784              :                           {
   19785            0 :                           CASE_CONVERT:
   19786            0 :                             {
   19787            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19788            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19789              :                                 {
   19790            0 :                                   if (integer_zerop (_p2))
   19791              :                                     {
   19792            0 :                                       {
   19793            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19794            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19795            0 :                                         if (res) return res;
   19796              :                                       }
   19797              :                                     }
   19798              :                                 }
   19799              :                               break;
   19800              :                             }
   19801            0 :                           default:;
   19802              :                           }
   19803            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19804              :                           {
   19805            0 :                             if (integer_zerop (_p2))
   19806              :                               {
   19807            0 :                                 {
   19808            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19809            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19810            0 :                                   if (res) return res;
   19811              :                                 }
   19812              :                               }
   19813              :                           }
   19814              :                       }
   19815              :                     break;
   19816            2 :                   case CFN_BUILT_IN_PARITY:
   19817            2 :                     if (call_expr_nargs (_p1) == 1)
   19818              :     {
   19819            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19820            2 :                         switch (TREE_CODE (_q50))
   19821              :                           {
   19822            1 :                           CASE_CONVERT:
   19823            1 :                             {
   19824            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19825            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19826              :                                 {
   19827            1 :                                   if (integer_zerop (_p2))
   19828              :                                     {
   19829            1 :                                       {
   19830            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19831            1 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   19832            1 :                                         if (res) return res;
   19833              :                                       }
   19834              :                                     }
   19835              :                                 }
   19836              :                               break;
   19837              :                             }
   19838            1 :                           default:;
   19839              :                           }
   19840            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19841              :                           {
   19842            0 :                             if (integer_zerop (_p2))
   19843              :                               {
   19844            0 :                                 {
   19845            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19846            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   19847            0 :                                   if (res) return res;
   19848              :                                 }
   19849              :                               }
   19850              :                           }
   19851              :                       }
   19852              :                     break;
   19853            0 :                   case CFN_BUILT_IN_POPCOUNTIMAX:
   19854            0 :                     if (call_expr_nargs (_p1) == 1)
   19855              :     {
   19856            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19857            0 :                         switch (TREE_CODE (_q50))
   19858              :                           {
   19859            0 :                           CASE_CONVERT:
   19860            0 :                             {
   19861            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19862            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19863              :                                 {
   19864            0 :                                   if (integer_zerop (_p2))
   19865              :                                     {
   19866            0 :                                       {
   19867            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19868            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   19869            0 :                                         if (res) return res;
   19870              :                                       }
   19871              :                                     }
   19872              :                                 }
   19873              :                               break;
   19874              :                             }
   19875            0 :                           default:;
   19876              :                           }
   19877            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19878              :                           {
   19879            0 :                             if (integer_zerop (_p2))
   19880              :                               {
   19881            0 :                                 {
   19882            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19883            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   19884            0 :                                   if (res) return res;
   19885              :                                 }
   19886              :                               }
   19887              :                           }
   19888              :                       }
   19889              :                     break;
   19890            0 :                   case CFN_BUILT_IN_CLRSBIMAX:
   19891            0 :                     if (call_expr_nargs (_p1) == 1)
   19892              :     {
   19893            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19894            0 :                         switch (TREE_CODE (_q50))
   19895              :                           {
   19896            0 :                           CASE_CONVERT:
   19897            0 :                             {
   19898            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19899            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19900              :                                 {
   19901            0 :                                   switch (TREE_CODE (_p2))
   19902              :                                     {
   19903            0 :                                     case INTEGER_CST:
   19904            0 :                                       {
   19905            0 :                                         {
   19906            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19907            0 :                                           tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   19908            0 :                                           if (res) return res;
   19909              :                                         }
   19910            0 :                                         break;
   19911              :                                       }
   19912              :                                     default:;
   19913              :                                     }
   19914              :                                 }
   19915              :                               break;
   19916              :                             }
   19917            0 :                           default:;
   19918              :                           }
   19919            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19920              :                           {
   19921            0 :                             switch (TREE_CODE (_p2))
   19922              :                               {
   19923            0 :                               case INTEGER_CST:
   19924            0 :                                 {
   19925            0 :                                   {
   19926            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19927            0 :                                     tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   19928            0 :                                     if (res) return res;
   19929              :                                   }
   19930            0 :                                   break;
   19931              :                                 }
   19932              :                               default:;
   19933              :                               }
   19934              :                           }
   19935              :                       }
   19936              :                     break;
   19937            2 :                   case CFN_BUILT_IN_CLRSBLL:
   19938            2 :                     if (call_expr_nargs (_p1) == 1)
   19939              :     {
   19940            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19941            2 :                         switch (TREE_CODE (_q50))
   19942              :                           {
   19943            0 :                           CASE_CONVERT:
   19944            0 :                             {
   19945            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19946            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19947              :                                 {
   19948            0 :                                   switch (TREE_CODE (_p2))
   19949              :                                     {
   19950            0 :                                     case INTEGER_CST:
   19951            0 :                                       {
   19952            0 :                                         {
   19953            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19954            0 :                                           tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   19955            0 :                                           if (res) return res;
   19956              :                                         }
   19957            0 :                                         break;
   19958              :                                       }
   19959              :                                     default:;
   19960              :                                     }
   19961              :                                 }
   19962              :                               break;
   19963              :                             }
   19964            2 :                           default:;
   19965              :                           }
   19966            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19967              :                           {
   19968            1 :                             switch (TREE_CODE (_p2))
   19969              :                               {
   19970            1 :                               case INTEGER_CST:
   19971            1 :                                 {
   19972            1 :                                   {
   19973            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19974            1 :                                     tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   19975            1 :                                     if (res) return res;
   19976              :                                   }
   19977            0 :                                   break;
   19978              :                                 }
   19979              :                               default:;
   19980              :                               }
   19981              :                           }
   19982              :                       }
   19983              :                     break;
   19984            0 :                   case CFN_CLRSB:
   19985            0 :                     if (call_expr_nargs (_p1) == 1)
   19986              :     {
   19987            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19988            0 :                         switch (TREE_CODE (_q50))
   19989              :                           {
   19990            0 :                           CASE_CONVERT:
   19991            0 :                             {
   19992            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19993            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19994              :                                 {
   19995            0 :                                   switch (TREE_CODE (_p2))
   19996              :                                     {
   19997            0 :                                     case INTEGER_CST:
   19998            0 :                                       {
   19999            0 :                                         {
   20000            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20001            0 :                                           tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   20002            0 :                                           if (res) return res;
   20003              :                                         }
   20004            0 :                                         break;
   20005              :                                       }
   20006              :                                     default:;
   20007              :                                     }
   20008              :                                 }
   20009              :                               break;
   20010              :                             }
   20011            0 :                           default:;
   20012              :                           }
   20013            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20014              :                           {
   20015            0 :                             switch (TREE_CODE (_p2))
   20016              :                               {
   20017            0 :                               case INTEGER_CST:
   20018            0 :                                 {
   20019            0 :                                   {
   20020            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20021            0 :                                     tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   20022            0 :                                     if (res) return res;
   20023              :                                   }
   20024            0 :                                   break;
   20025              :                                 }
   20026              :                               default:;
   20027              :                               }
   20028              :                           }
   20029              :                       }
   20030              :                     break;
   20031            0 :                   case CFN_BUILT_IN_BSWAP128:
   20032            0 :                     if (call_expr_nargs (_p1) == 1)
   20033              :     {
   20034            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20035            0 :                         switch (TREE_CODE (_q50))
   20036              :                           {
   20037            0 :                           CASE_CONVERT:
   20038            0 :                             {
   20039            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20040            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20041              :                                 {
   20042            0 :                                   if (integer_zerop (_p2))
   20043              :                                     {
   20044            0 :                                       {
   20045            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20046            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   20047            0 :                                         if (res) return res;
   20048              :                                       }
   20049              :                                     }
   20050              :                                 }
   20051              :                               break;
   20052              :                             }
   20053            0 :                           default:;
   20054              :                           }
   20055            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20056              :                           {
   20057            0 :                             if (integer_zerop (_p2))
   20058              :                               {
   20059            0 :                                 {
   20060            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20061            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   20062            0 :                                   if (res) return res;
   20063              :                                 }
   20064              :                               }
   20065              :                           }
   20066              :                       }
   20067              :                     break;
   20068            2 :                   case CFN_BUILT_IN_POPCOUNTL:
   20069            2 :                     if (call_expr_nargs (_p1) == 1)
   20070              :     {
   20071            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20072            2 :                         switch (TREE_CODE (_q50))
   20073              :                           {
   20074            1 :                           CASE_CONVERT:
   20075            1 :                             {
   20076            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20077            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20078              :                                 {
   20079            1 :                                   if (integer_zerop (_p2))
   20080              :                                     {
   20081            1 :                                       {
   20082            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20083            1 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   20084            1 :                                         if (res) return res;
   20085              :                                       }
   20086              :                                     }
   20087              :                                 }
   20088              :                               break;
   20089              :                             }
   20090            1 :                           default:;
   20091              :                           }
   20092            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20093              :                           {
   20094            0 :                             if (integer_zerop (_p2))
   20095              :                               {
   20096            0 :                                 {
   20097            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20098            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   20099            0 :                                   if (res) return res;
   20100              :                                 }
   20101              :                               }
   20102              :                           }
   20103              :                       }
   20104              :                     break;
   20105            2 :                   case CFN_BUILT_IN_CLRSB:
   20106            2 :                     if (call_expr_nargs (_p1) == 1)
   20107              :     {
   20108            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20109            2 :                         switch (TREE_CODE (_q50))
   20110              :                           {
   20111            0 :                           CASE_CONVERT:
   20112            0 :                             {
   20113            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20114            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20115              :                                 {
   20116            0 :                                   switch (TREE_CODE (_p2))
   20117              :                                     {
   20118            0 :                                     case INTEGER_CST:
   20119            0 :                                       {
   20120            0 :                                         {
   20121            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20122            0 :                                           tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   20123            0 :                                           if (res) return res;
   20124              :                                         }
   20125            0 :                                         break;
   20126              :                                       }
   20127              :                                     default:;
   20128              :                                     }
   20129              :                                 }
   20130              :                               break;
   20131              :                             }
   20132            2 :                           default:;
   20133              :                           }
   20134            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20135              :                           {
   20136            1 :                             switch (TREE_CODE (_p2))
   20137              :                               {
   20138            1 :                               case INTEGER_CST:
   20139            1 :                                 {
   20140            1 :                                   {
   20141            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20142            1 :                                     tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   20143            1 :                                     if (res) return res;
   20144              :                                   }
   20145            0 :                                   break;
   20146              :                                 }
   20147              :                               default:;
   20148              :                               }
   20149              :                           }
   20150              :                       }
   20151              :                     break;
   20152            0 :                   case CFN_BUILT_IN_FFSLL:
   20153            0 :                     if (call_expr_nargs (_p1) == 1)
   20154              :     {
   20155            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20156            0 :                         switch (TREE_CODE (_q50))
   20157              :                           {
   20158            0 :                           CASE_CONVERT:
   20159            0 :                             {
   20160            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20161            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20162              :                                 {
   20163            0 :                                   if (integer_zerop (_p2))
   20164              :                                     {
   20165            0 :                                       {
   20166            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20167            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   20168            0 :                                         if (res) return res;
   20169              :                                       }
   20170              :                                     }
   20171              :                                 }
   20172              :                               break;
   20173              :                             }
   20174            0 :                           default:;
   20175              :                           }
   20176            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20177              :                           {
   20178            0 :                             if (integer_zerop (_p2))
   20179              :                               {
   20180            0 :                                 {
   20181            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20182            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   20183            0 :                                   if (res) return res;
   20184              :                                 }
   20185              :                               }
   20186              :                           }
   20187              :                       }
   20188              :                     break;
   20189            2 :                   case CFN_BUILT_IN_PARITYLL:
   20190            2 :                     if (call_expr_nargs (_p1) == 1)
   20191              :     {
   20192            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20193            2 :                         switch (TREE_CODE (_q50))
   20194              :                           {
   20195            1 :                           CASE_CONVERT:
   20196            1 :                             {
   20197            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20198            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20199              :                                 {
   20200            1 :                                   if (integer_zerop (_p2))
   20201              :                                     {
   20202            1 :                                       {
   20203            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20204            1 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   20205            1 :                                         if (res) return res;
   20206              :                                       }
   20207              :                                     }
   20208              :                                 }
   20209              :                               break;
   20210              :                             }
   20211            1 :                           default:;
   20212              :                           }
   20213            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20214              :                           {
   20215            0 :                             if (integer_zerop (_p2))
   20216              :                               {
   20217            0 :                                 {
   20218            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20219            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   20220            0 :                                   if (res) return res;
   20221              :                                 }
   20222              :                               }
   20223              :                           }
   20224              :                       }
   20225              :                     break;
   20226            3 :                   case CFN_BUILT_IN_BSWAP16:
   20227            3 :                     if (call_expr_nargs (_p1) == 1)
   20228              :     {
   20229            3 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20230            3 :                         switch (TREE_CODE (_q50))
   20231              :                           {
   20232            0 :                           CASE_CONVERT:
   20233            0 :                             {
   20234            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20235            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20236              :                                 {
   20237            0 :                                   if (integer_zerop (_p2))
   20238              :                                     {
   20239            0 :                                       {
   20240            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20241            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   20242            0 :                                         if (res) return res;
   20243              :                                       }
   20244              :                                     }
   20245              :                                 }
   20246              :                               break;
   20247              :                             }
   20248            3 :                           default:;
   20249              :                           }
   20250            3 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20251              :                           {
   20252            1 :                             if (integer_zerop (_p2))
   20253              :                               {
   20254            1 :                                 {
   20255            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20256            1 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   20257            1 :                                   if (res) return res;
   20258              :                                 }
   20259              :                               }
   20260              :                           }
   20261              :                       }
   20262              :                     break;
   20263            2 :                   case CFN_BUILT_IN_BSWAP32:
   20264            2 :                     if (call_expr_nargs (_p1) == 1)
   20265              :     {
   20266            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20267            2 :                         switch (TREE_CODE (_q50))
   20268              :                           {
   20269            0 :                           CASE_CONVERT:
   20270            0 :                             {
   20271            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20272            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20273              :                                 {
   20274            0 :                                   if (integer_zerop (_p2))
   20275              :                                     {
   20276            0 :                                       {
   20277            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20278            0 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   20279            0 :                                         if (res) return res;
   20280              :                                       }
   20281              :                                     }
   20282              :                                 }
   20283              :                               break;
   20284              :                             }
   20285            2 :                           default:;
   20286              :                           }
   20287            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20288              :                           {
   20289            1 :                             if (integer_zerop (_p2))
   20290              :                               {
   20291            1 :                                 {
   20292            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20293            1 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   20294            1 :                                   if (res) return res;
   20295              :                                 }
   20296              :                               }
   20297              :                           }
   20298              :                       }
   20299              :                     break;
   20300            2 :                   case CFN_BUILT_IN_BSWAP64:
   20301            2 :                     if (call_expr_nargs (_p1) == 1)
   20302              :     {
   20303            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20304            2 :                         switch (TREE_CODE (_q50))
   20305              :                           {
   20306            1 :                           CASE_CONVERT:
   20307            1 :                             {
   20308            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20309            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20310              :                                 {
   20311            1 :                                   if (integer_zerop (_p2))
   20312              :                                     {
   20313            1 :                                       {
   20314            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20315            1 :                                         tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   20316            1 :                                         if (res) return res;
   20317              :                                       }
   20318              :                                     }
   20319              :                                 }
   20320              :                               break;
   20321              :                             }
   20322            1 :                           default:;
   20323              :                           }
   20324            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20325              :                           {
   20326            0 :                             if (integer_zerop (_p2))
   20327              :                               {
   20328            0 :                                 {
   20329            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20330            0 :                                   tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   20331            0 :                                   if (res) return res;
   20332              :                                 }
   20333              :                               }
   20334              :                           }
   20335              :                       }
   20336              :                     break;
   20337              :                   default:;
   20338              :                   }
   20339              :                 break;
   20340      1849803 :               default:;
   20341              :               }
   20342      1849803 :           {
   20343      1849803 :             tree _p1_pops[1];
   20344      1849803 :             if (tree_nop_convert (_p1, _p1_pops))
   20345              :               {
   20346       154621 :                 tree _q50 = _p1_pops[0];
   20347       154621 :                 switch (TREE_CODE (_q50))
   20348              :                   {
   20349          339 :                   case PLUS_EXPR:
   20350          339 :                     {
   20351          339 :                       tree _q60 = TREE_OPERAND (_q50, 0);
   20352          339 :                       tree _q61 = TREE_OPERAND (_q50, 1);
   20353          339 :                       {
   20354          339 :                         tree _q60_pops[1];
   20355          339 :                         if (tree_nop_convert (_q60, _q60_pops))
   20356              :                           {
   20357           52 :                             tree _q70 = _q60_pops[0];
   20358           52 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   20359              :                               {
   20360            2 :                                 if (integer_all_onesp (_q61))
   20361              :                                   {
   20362            2 :                                     if (integer_zerop (_p2))
   20363              :                                       {
   20364            2 :                                         {
   20365            2 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   20366            2 :                                           tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures);
   20367            2 :                                           if (res) return res;
   20368              :                                         }
   20369              :                                       }
   20370              :                                   }
   20371              :                               }
   20372              :                           }
   20373              :                       }
   20374          337 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20375              :                         {
   20376           14 :                           if (integer_all_onesp (_q61))
   20377              :                             {
   20378            0 :                               if (integer_zerop (_p2))
   20379              :                                 {
   20380            0 :                                   {
   20381            0 :                                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   20382            0 :                                     tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures);
   20383            0 :                                     if (res) return res;
   20384              :                                   }
   20385              :                                 }
   20386              :                             }
   20387              :                         }
   20388              :                       break;
   20389              :                     }
   20390              :                   default:;
   20391              :                   }
   20392              :               }
   20393              :           }
   20394              :           }
   20395              :         break;
   20396              :       }
   20397            7 :     case LTGT_EXPR:
   20398            7 :       {
   20399            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20400            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20401            7 :         if (zerop (_q21))
   20402              :           {
   20403            0 :             switch (TREE_CODE (_p2))
   20404              :               {
   20405            0 :               case NEGATE_EXPR:
   20406            0 :                 {
   20407            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20408            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20409              :                     {
   20410            0 :                       {
   20411            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20412            0 :                         const enum tree_code cmp = LTGT_EXPR;
   20413            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   20414            0 :  && bitwise_equal_p (captures[0], captures[1])
   20415              : )
   20416              :                           {
   20417            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1855;
   20418            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1855;
   20419            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1855;
   20420            0 :                             {
   20421            0 :                               tree _r;
   20422            0 :                               _r = captures[1];
   20423            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   20424            0 :                               return _r;
   20425              :                             }
   20426            0 : next_after_fail1855:;
   20427              :                           }
   20428              :                       }
   20429              :                     }
   20430              :                   break;
   20431              :                 }
   20432            0 :               default:;
   20433              :               }
   20434            0 :           if (integer_zerop (_p2))
   20435              :             {
   20436            0 :               {
   20437            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20438            0 :                 const enum tree_code cmp = LTGT_EXPR;
   20439            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   20440            0 :  && bitwise_equal_p (captures[0], captures[1])
   20441              : )
   20442              :                   {
   20443            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1856;
   20444            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1856;
   20445            0 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1856;
   20446            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1856;
   20447            0 :                     {
   20448            0 :                       tree _r;
   20449            0 :                       _r = captures[1];
   20450            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   20451            0 :                       return _r;
   20452              :                     }
   20453            0 : next_after_fail1856:;
   20454              :                   }
   20455              :               }
   20456              :             }
   20457              :           }
   20458            7 :         switch (TREE_CODE (_q20))
   20459              :           {
   20460            0 :           case MINUS_EXPR:
   20461            0 :             {
   20462            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20463            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20464            0 :               if (zerop (_q21))
   20465              :                 {
   20466            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20467              :                     {
   20468            0 :                       switch (TREE_CODE (_p2))
   20469              :                         {
   20470            0 :                         case MINUS_EXPR:
   20471            0 :                           {
   20472            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20473            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20474            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20475              :                               {
   20476            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20477              :                                   {
   20478            0 :                                     {
   20479            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20480            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   20481            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20482              : )
   20483              :                                         {
   20484            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1857;
   20485            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1857;
   20486            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1857;
   20487            0 :                                           {
   20488            0 :                                             tree _r;
   20489            0 :                                             _r = captures[0];
   20490            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   20491            0 :                                             return _r;
   20492              :                                           }
   20493            0 : next_after_fail1857:;
   20494              :                                         }
   20495              :                                     }
   20496              :                                   }
   20497              :                               }
   20498              :                             break;
   20499              :                           }
   20500              :                         default:;
   20501              :                         }
   20502              :                     }
   20503              :                 }
   20504            0 :               if (integer_zerop (_q21))
   20505              :                 {
   20506            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20507              :                     {
   20508            0 :                       if (integer_zerop (_p2))
   20509              :                         {
   20510            0 :                           {
   20511            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20512            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   20513            0 :                             if (res) return res;
   20514              :                           }
   20515              :                         }
   20516              :                     }
   20517              :                 }
   20518              :               break;
   20519              :             }
   20520              :           default:;
   20521              :           }
   20522              :         break;
   20523              :       }
   20524       534795 :     case GE_EXPR:
   20525       534795 :       {
   20526       534795 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20527       534795 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20528       534795 :         switch (TREE_CODE (_q20))
   20529              :           {
   20530        56057 :           CASE_CONVERT:
   20531        56057 :             {
   20532        56057 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20533        56057 :               if (zerop (_q21))
   20534              :                 {
   20535        25182 :                   switch (TREE_CODE (_p2))
   20536              :                     {
   20537           13 :                     case NEGATE_EXPR:
   20538           13 :                       {
   20539           13 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20540           13 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20541              :                           {
   20542           13 :                             {
   20543           13 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20544           13 :                               const enum tree_code cmp = GE_EXPR;
   20545           13 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20546           13 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20547            0 :  && element_precision (captures[1])
   20548            0 :  <= element_precision (captures[0])
   20549            0 :  && bitwise_equal_p (captures[1], captures[2])
   20550           13 :  && (!VECTOR_TYPE_P (type)
   20551            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20552              : )
   20553              :                                 {
   20554            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20555              : )
   20556              :                                     {
   20557            0 :                                       {
   20558            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20559            0 :                                           if (types_match (captures[0], stype)
   20560              : )
   20561              :                                             {
   20562            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1858;
   20563            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1858;
   20564            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1858;
   20565            0 :                                               {
   20566            0 :                                                 tree res_op0;
   20567            0 :                                                 res_op0 = captures[0];
   20568            0 :                                                 tree _r;
   20569            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20570            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   20571            0 :                                                 return _r;
   20572              :                                               }
   20573           13 : next_after_fail1858:;
   20574              :                                             }
   20575              :                                           else
   20576              :                                             {
   20577            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1859;
   20578            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1859;
   20579            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1859;
   20580            0 :                                               {
   20581            0 :                                                 tree res_op0;
   20582            0 :                                                 {
   20583            0 :                                                   tree _o1[1], _r1;
   20584            0 :                                                   _o1[0] = captures[2];
   20585            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   20586              :                                                     {
   20587            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20588              :                                                     }
   20589              :                                                   else
   20590              :                                                     _r1 = _o1[0];
   20591            0 :                                                   res_op0 = _r1;
   20592              :                                                 }
   20593            0 :                                                 tree _r;
   20594            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20595            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   20596            0 :                                                 return _r;
   20597              :                                               }
   20598           13 : next_after_fail1859:;
   20599              :                                             }
   20600              :                                       }
   20601              :                                     }
   20602              :                                   else
   20603              :                                     {
   20604            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1860;
   20605            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1860;
   20606            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1860;
   20607            0 :                                       {
   20608            0 :                                         tree res_op0;
   20609            0 :                                         res_op0 = captures[2];
   20610            0 :                                         tree _r;
   20611            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20612            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   20613            0 :                                         return _r;
   20614              :                                       }
   20615           13 : next_after_fail1860:;
   20616              :                                     }
   20617              :                                 }
   20618              :                             }
   20619              :                           }
   20620              :                         break;
   20621              :                       }
   20622              :                     default:;
   20623              :                     }
   20624              :                 }
   20625              :               break;
   20626              :             }
   20627       534795 :           default:;
   20628              :           }
   20629       534795 :         if (zerop (_q21))
   20630              :           {
   20631       143072 :             switch (TREE_CODE (_p2))
   20632              :               {
   20633        30611 :               case NEGATE_EXPR:
   20634        30611 :                 {
   20635        30611 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20636        30611 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20637              :                     {
   20638        30605 :                       {
   20639        30605 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20640        30605 :                         const enum tree_code cmp = GE_EXPR;
   20641        30605 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20642        30597 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20643        61194 :  && element_precision (captures[1])
   20644        30597 :  <= element_precision (captures[0])
   20645        30597 :  && bitwise_equal_p (captures[1], captures[2])
   20646        61104 :  && (!VECTOR_TYPE_P (type)
   20647            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20648              : )
   20649              :                           {
   20650        30499 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20651              : )
   20652              :                               {
   20653           46 :                                 {
   20654           46 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20655           46 :                                     if (types_match (captures[0], stype)
   20656              : )
   20657              :                                       {
   20658           13 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1861;
   20659           13 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1861;
   20660           13 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1861;
   20661           13 :                                         {
   20662           13 :                                           tree res_op0;
   20663           13 :                                           res_op0 = captures[0];
   20664           13 :                                           tree _r;
   20665           13 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20666           13 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   20667           13 :                                           return _r;
   20668              :                                         }
   20669          106 : next_after_fail1861:;
   20670              :                                       }
   20671              :                                     else
   20672              :                                       {
   20673           33 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1862;
   20674           33 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1862;
   20675           33 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1862;
   20676           33 :                                         {
   20677           33 :                                           tree res_op0;
   20678           33 :                                           {
   20679           33 :                                             tree _o1[1], _r1;
   20680           33 :                                             _o1[0] = captures[2];
   20681           33 :                                             if (TREE_TYPE (_o1[0]) != stype)
   20682              :                                               {
   20683           33 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20684              :                                               }
   20685              :                                             else
   20686              :                                               _r1 = _o1[0];
   20687           33 :                                             res_op0 = _r1;
   20688              :                                           }
   20689           33 :                                           tree _r;
   20690           33 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20691           33 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   20692           33 :                                           return _r;
   20693              :                                         }
   20694          106 : next_after_fail1862:;
   20695              :                                       }
   20696              :                                 }
   20697              :                               }
   20698              :                             else
   20699              :                               {
   20700        30453 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1863;
   20701        30453 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1863;
   20702        30453 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1863;
   20703        30453 :                                 {
   20704        30453 :                                   tree res_op0;
   20705        30453 :                                   res_op0 = captures[2];
   20706        30453 :                                   tree _r;
   20707        30453 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20708        30453 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   20709        30453 :                                   return _r;
   20710              :                                 }
   20711          106 : next_after_fail1863:;
   20712              :                               }
   20713              :                           }
   20714              :                       }
   20715              :                     }
   20716              :                   break;
   20717              :                 }
   20718              :               default:;
   20719              :               }
   20720              :           }
   20721       504296 :         switch (TREE_CODE (_q20))
   20722              :           {
   20723        31907 :           case MINUS_EXPR:
   20724        31907 :             {
   20725        31907 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20726        31907 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20727        31907 :               if (zerop (_q21))
   20728              :                 {
   20729        31117 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20730              :                     {
   20731            1 :                       switch (TREE_CODE (_p2))
   20732              :                         {
   20733            1 :                         case MINUS_EXPR:
   20734            1 :                           {
   20735            1 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20736            1 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20737            1 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20738              :                               {
   20739            1 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20740              :                                   {
   20741            1 :                                     {
   20742            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20743            1 :                                       const enum tree_code cmp = GE_EXPR;
   20744            1 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20745            1 :  && !TYPE_UNSIGNED (type)
   20746            2 :  && (!VECTOR_TYPE_P (type)
   20747            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20748              : )
   20749              :                                         {
   20750            1 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1864;
   20751            1 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1864;
   20752            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1864;
   20753            1 :                                           {
   20754            1 :                                             tree res_op0;
   20755            1 :                                             res_op0 = captures[0];
   20756            1 :                                             tree _r;
   20757            1 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20758            1 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   20759            1 :                                             return _r;
   20760              :                                           }
   20761            0 : next_after_fail1864:;
   20762              :                                         }
   20763              :                                     }
   20764              :                                   }
   20765              :                               }
   20766              :                             break;
   20767              :                           }
   20768              :                         default:;
   20769              :                         }
   20770              :                     }
   20771              :                 }
   20772              :               break;
   20773              :             }
   20774       504295 :           default:;
   20775              :           }
   20776       504295 :         if (integer_zerop (_q21))
   20777              :           {
   20778       112021 :             switch (TREE_CODE (_p1))
   20779              :               {
   20780           65 :               case BIT_NOT_EXPR:
   20781           65 :                 {
   20782           65 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   20783           65 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   20784              :                     {
   20785            9 :                       {
   20786            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   20787            9 :                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   20788            9 :                         if (res) return res;
   20789              :                       }
   20790              :                     }
   20791              :                   break;
   20792              :                 }
   20793       112012 :               default:;
   20794              :               }
   20795       112012 :             switch (TREE_CODE (_p2))
   20796              :               {
   20797           30 :               case BIT_NOT_EXPR:
   20798           30 :                 {
   20799           30 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20800           30 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20801              :                     {
   20802            9 :                       {
   20803            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20804            9 :                         tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   20805            9 :                         if (res) return res;
   20806              :                       }
   20807              :                     }
   20808              :                   break;
   20809              :                 }
   20810              :               default:;
   20811              :               }
   20812              :           }
   20813              :         break;
   20814              :       }
   20815       890864 :     case GT_EXPR:
   20816       890864 :       {
   20817       890864 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20818       890864 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20819       890864 :         switch (TREE_CODE (_q20))
   20820              :           {
   20821        86355 :           CASE_CONVERT:
   20822        86355 :             {
   20823        86355 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20824        86355 :               if (zerop (_q21))
   20825              :                 {
   20826         1566 :                   switch (TREE_CODE (_p2))
   20827              :                     {
   20828           20 :                     case NEGATE_EXPR:
   20829           20 :                       {
   20830           20 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20831           20 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20832              :                           {
   20833            0 :                             {
   20834            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20835            0 :                               const enum tree_code cmp = GT_EXPR;
   20836            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20837            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20838            0 :  && element_precision (captures[1])
   20839            0 :  <= element_precision (captures[0])
   20840            0 :  && bitwise_equal_p (captures[1], captures[2])
   20841            0 :  && (!VECTOR_TYPE_P (type)
   20842            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20843              : )
   20844              :                                 {
   20845            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20846              : )
   20847              :                                     {
   20848            0 :                                       {
   20849            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20850            0 :                                           if (types_match (captures[0], stype)
   20851              : )
   20852              :                                             {
   20853            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1865;
   20854            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1865;
   20855            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1865;
   20856            0 :                                               {
   20857            0 :                                                 tree res_op0;
   20858            0 :                                                 res_op0 = captures[0];
   20859            0 :                                                 tree _r;
   20860            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20861            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   20862            0 :                                                 return _r;
   20863              :                                               }
   20864            0 : next_after_fail1865:;
   20865              :                                             }
   20866              :                                           else
   20867              :                                             {
   20868            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1866;
   20869            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1866;
   20870            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1866;
   20871            0 :                                               {
   20872            0 :                                                 tree res_op0;
   20873            0 :                                                 {
   20874            0 :                                                   tree _o1[1], _r1;
   20875            0 :                                                   _o1[0] = captures[2];
   20876            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   20877              :                                                     {
   20878            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20879              :                                                     }
   20880              :                                                   else
   20881              :                                                     _r1 = _o1[0];
   20882            0 :                                                   res_op0 = _r1;
   20883              :                                                 }
   20884            0 :                                                 tree _r;
   20885            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20886            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   20887            0 :                                                 return _r;
   20888              :                                               }
   20889            0 : next_after_fail1866:;
   20890              :                                             }
   20891              :                                       }
   20892              :                                     }
   20893              :                                   else
   20894              :                                     {
   20895            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1867;
   20896            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1867;
   20897            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1867;
   20898            0 :                                       {
   20899            0 :                                         tree res_op0;
   20900            0 :                                         res_op0 = captures[2];
   20901            0 :                                         tree _r;
   20902            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20903            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   20904            0 :                                         return _r;
   20905              :                                       }
   20906            0 : next_after_fail1867:;
   20907              :                                     }
   20908              :                                 }
   20909              :                             }
   20910              :                           }
   20911              :                         break;
   20912              :                       }
   20913              :                     default:;
   20914              :                     }
   20915              :                 }
   20916              :               break;
   20917              :             }
   20918       890864 :           default:;
   20919              :           }
   20920       890864 :         if (zerop (_q21))
   20921              :           {
   20922       197143 :             switch (TREE_CODE (_p2))
   20923              :               {
   20924          306 :               case NEGATE_EXPR:
   20925          306 :                 {
   20926          306 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20927          306 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20928              :                     {
   20929          131 :                       {
   20930          131 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20931          131 :                         const enum tree_code cmp = GT_EXPR;
   20932          131 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20933           99 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20934          198 :  && element_precision (captures[1])
   20935           99 :  <= element_precision (captures[0])
   20936           99 :  && bitwise_equal_p (captures[1], captures[2])
   20937          225 :  && (!VECTOR_TYPE_P (type)
   20938            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20939              : )
   20940              :                           {
   20941           94 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20942              : )
   20943              :                               {
   20944            0 :                                 {
   20945            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20946            0 :                                     if (types_match (captures[0], stype)
   20947              : )
   20948              :                                       {
   20949            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1868;
   20950            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1868;
   20951            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
   20952            0 :                                         {
   20953            0 :                                           tree res_op0;
   20954            0 :                                           res_op0 = captures[0];
   20955            0 :                                           tree _r;
   20956            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20957            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   20958            0 :                                           return _r;
   20959              :                                         }
   20960           37 : next_after_fail1868:;
   20961              :                                       }
   20962              :                                     else
   20963              :                                       {
   20964            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1869;
   20965            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1869;
   20966            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
   20967            0 :                                         {
   20968            0 :                                           tree res_op0;
   20969            0 :                                           {
   20970            0 :                                             tree _o1[1], _r1;
   20971            0 :                                             _o1[0] = captures[2];
   20972            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   20973              :                                               {
   20974            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20975              :                                               }
   20976              :                                             else
   20977              :                                               _r1 = _o1[0];
   20978            0 :                                             res_op0 = _r1;
   20979              :                                           }
   20980            0 :                                           tree _r;
   20981            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20982            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   20983            0 :                                           return _r;
   20984              :                                         }
   20985           37 : next_after_fail1869:;
   20986              :                                       }
   20987              :                                 }
   20988              :                               }
   20989              :                             else
   20990              :                               {
   20991           94 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1870;
   20992           94 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1870;
   20993           94 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1870;
   20994           94 :                                 {
   20995           94 :                                   tree res_op0;
   20996           94 :                                   res_op0 = captures[2];
   20997           94 :                                   tree _r;
   20998           94 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20999           94 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   21000           94 :                                   return _r;
   21001              :                                 }
   21002           37 : next_after_fail1870:;
   21003              :                               }
   21004              :                           }
   21005              :                       }
   21006              :                     }
   21007              :                   break;
   21008              :                 }
   21009              :               default:;
   21010              :               }
   21011              :           }
   21012       890770 :         switch (TREE_CODE (_q20))
   21013              :           {
   21014         1034 :           case MINUS_EXPR:
   21015         1034 :             {
   21016         1034 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21017         1034 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21018         1034 :               if (zerop (_q21))
   21019              :                 {
   21020          160 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21021              :                     {
   21022           15 :                       switch (TREE_CODE (_p2))
   21023              :                         {
   21024            9 :                         case MINUS_EXPR:
   21025            9 :                           {
   21026            9 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21027            9 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21028            9 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21029              :                               {
   21030            9 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21031              :                                   {
   21032            9 :                                     {
   21033            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21034            9 :                                       const enum tree_code cmp = GT_EXPR;
   21035            9 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21036            9 :  && !TYPE_UNSIGNED (type)
   21037           18 :  && (!VECTOR_TYPE_P (type)
   21038            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21039              : )
   21040              :                                         {
   21041            9 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1871;
   21042            9 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1871;
   21043            9 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1871;
   21044            9 :                                           {
   21045            9 :                                             tree res_op0;
   21046            9 :                                             res_op0 = captures[0];
   21047            9 :                                             tree _r;
   21048            9 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   21049            9 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   21050            9 :                                             return _r;
   21051              :                                           }
   21052            0 : next_after_fail1871:;
   21053              :                                         }
   21054              :                                     }
   21055              :                                   }
   21056              :                               }
   21057              :                             break;
   21058              :                           }
   21059              :                         default:;
   21060              :                         }
   21061              :                     }
   21062              :                 }
   21063              :               break;
   21064              :             }
   21065              :           default:;
   21066              :           }
   21067              :         break;
   21068              :       }
   21069      1368516 :     case LE_EXPR:
   21070      1368516 :       {
   21071      1368516 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21072      1368516 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21073      1368516 :         switch (TREE_CODE (_q20))
   21074              :           {
   21075       141035 :           CASE_CONVERT:
   21076       141035 :             {
   21077       141035 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21078       141035 :               if (zerop (_q21))
   21079              :                 {
   21080         1307 :                   switch (TREE_CODE (_p2))
   21081              :                     {
   21082            0 :                     case NEGATE_EXPR:
   21083            0 :                       {
   21084            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21085            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21086              :                           {
   21087            0 :                             {
   21088            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21089            0 :                               const enum tree_code cmp = LE_EXPR;
   21090            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21091            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21092            0 :  && element_precision (captures[1])
   21093            0 :  <= element_precision (captures[0])
   21094            0 :  && bitwise_equal_p (captures[1], captures[2])
   21095            0 :  && (!VECTOR_TYPE_P (type)
   21096            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21097            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21098              : )
   21099              :                                 {
   21100            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21101            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21102            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21103              : )
   21104              :                                     {
   21105            0 :                                       {
   21106            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21107            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21108            0 :                                           if (types_match (captures[0], stype)
   21109              : )
   21110              :                                             {
   21111            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1872;
   21112            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1872;
   21113            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1872;
   21114            0 :                                               {
   21115            0 :                                                 tree res_op0;
   21116            0 :                                                 {
   21117            0 :                                                   tree _o1[1], _r1;
   21118            0 :                                                   {
   21119            0 :                                                     tree _o2[1], _r2;
   21120            0 :                                                     _o2[0] = captures[0];
   21121            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21122            0 :                                                     _o1[0] = _r2;
   21123              :                                                   }
   21124            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21125            0 :                                                   res_op0 = _r1;
   21126              :                                                 }
   21127            0 :                                                 tree _r;
   21128            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21129            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   21130            0 :                                                 return _r;
   21131              :                                               }
   21132            0 : next_after_fail1872:;
   21133              :                                             }
   21134              :                                           else
   21135              :                                             {
   21136            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1873;
   21137            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1873;
   21138            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1873;
   21139            0 :                                               {
   21140            0 :                                                 tree res_op0;
   21141            0 :                                                 {
   21142            0 :                                                   tree _o1[1], _r1;
   21143            0 :                                                   {
   21144            0 :                                                     tree _o2[1], _r2;
   21145            0 :                                                     {
   21146            0 :                                                       tree _o3[1], _r3;
   21147            0 :                                                       _o3[0] = captures[2];
   21148            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   21149              :                                                         {
   21150            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21151              :                                                         }
   21152              :                                                       else
   21153              :                                                         _r3 = _o3[0];
   21154            0 :                                                       _o2[0] = _r3;
   21155              :                                                     }
   21156            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21157            0 :                                                     _o1[0] = _r2;
   21158              :                                                   }
   21159            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21160            0 :                                                   res_op0 = _r1;
   21161              :                                                 }
   21162            0 :                                                 tree _r;
   21163            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21164            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   21165            0 :                                                 return _r;
   21166              :                                               }
   21167            0 : next_after_fail1873:;
   21168              :                                             }
   21169              :                                       }
   21170              :                                     }
   21171              :                                   else
   21172              :                                     {
   21173            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1874;
   21174            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1874;
   21175            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1874;
   21176            0 :                                       {
   21177            0 :                                         tree res_op0;
   21178            0 :                                         {
   21179            0 :                                           tree _o1[1], _r1;
   21180            0 :                                           {
   21181            0 :                                             tree _o2[1], _r2;
   21182            0 :                                             _o2[0] = captures[2];
   21183            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21184            0 :                                             _o1[0] = _r2;
   21185              :                                           }
   21186            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21187            0 :                                           res_op0 = _r1;
   21188              :                                         }
   21189            0 :                                         tree _r;
   21190            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21191            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   21192            0 :                                         return _r;
   21193              :                                       }
   21194            0 : next_after_fail1874:;
   21195              :                                     }
   21196              :                                 }
   21197              :                             }
   21198              :                           }
   21199              :                         break;
   21200              :                       }
   21201              :                     default:;
   21202              :                     }
   21203              :                 }
   21204              :               break;
   21205              :             }
   21206      1368516 :           default:;
   21207              :           }
   21208      1368516 :         if (zerop (_q21))
   21209              :           {
   21210       124425 :             switch (TREE_CODE (_p2))
   21211              :               {
   21212            7 :               case NEGATE_EXPR:
   21213            7 :                 {
   21214            7 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21215            7 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21216              :                     {
   21217            7 :                       {
   21218            7 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21219            7 :                         const enum tree_code cmp = LE_EXPR;
   21220            7 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21221            7 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21222           14 :  && element_precision (captures[1])
   21223            7 :  <= element_precision (captures[0])
   21224            7 :  && bitwise_equal_p (captures[1], captures[2])
   21225           14 :  && (!VECTOR_TYPE_P (type)
   21226            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21227            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21228              : )
   21229              :                           {
   21230           14 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21231            7 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21232            7 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21233              : )
   21234              :                               {
   21235            7 :                                 {
   21236            7 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21237            7 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21238            7 :                                     if (types_match (captures[0], stype)
   21239              : )
   21240              :                                       {
   21241            7 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1875;
   21242            7 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1875;
   21243            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1875;
   21244            7 :                                         {
   21245            7 :                                           tree res_op0;
   21246            7 :                                           {
   21247            7 :                                             tree _o1[1], _r1;
   21248            7 :                                             {
   21249            7 :                                               tree _o2[1], _r2;
   21250            7 :                                               _o2[0] = captures[0];
   21251            7 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21252            7 :                                               _o1[0] = _r2;
   21253              :                                             }
   21254            7 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21255            7 :                                             res_op0 = _r1;
   21256              :                                           }
   21257            7 :                                           tree _r;
   21258            7 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21259            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   21260            7 :                                           return _r;
   21261              :                                         }
   21262            0 : next_after_fail1875:;
   21263              :                                       }
   21264              :                                     else
   21265              :                                       {
   21266            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1876;
   21267            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1876;
   21268            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1876;
   21269            0 :                                         {
   21270            0 :                                           tree res_op0;
   21271            0 :                                           {
   21272            0 :                                             tree _o1[1], _r1;
   21273            0 :                                             {
   21274            0 :                                               tree _o2[1], _r2;
   21275            0 :                                               {
   21276            0 :                                                 tree _o3[1], _r3;
   21277            0 :                                                 _o3[0] = captures[2];
   21278            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21279              :                                                   {
   21280            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21281              :                                                   }
   21282              :                                                 else
   21283              :                                                   _r3 = _o3[0];
   21284            0 :                                                 _o2[0] = _r3;
   21285              :                                               }
   21286            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21287            0 :                                               _o1[0] = _r2;
   21288              :                                             }
   21289            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21290            0 :                                             res_op0 = _r1;
   21291              :                                           }
   21292            0 :                                           tree _r;
   21293            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21294            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   21295            0 :                                           return _r;
   21296              :                                         }
   21297            0 : next_after_fail1876:;
   21298              :                                       }
   21299              :                                 }
   21300              :                               }
   21301              :                             else
   21302              :                               {
   21303            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1877;
   21304            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1877;
   21305            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1877;
   21306            0 :                                 {
   21307            0 :                                   tree res_op0;
   21308            0 :                                   {
   21309            0 :                                     tree _o1[1], _r1;
   21310            0 :                                     {
   21311            0 :                                       tree _o2[1], _r2;
   21312            0 :                                       _o2[0] = captures[2];
   21313            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21314            0 :                                       _o1[0] = _r2;
   21315              :                                     }
   21316            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21317            0 :                                     res_op0 = _r1;
   21318              :                                   }
   21319            0 :                                   tree _r;
   21320            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21321            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   21322            0 :                                   return _r;
   21323              :                                 }
   21324            0 : next_after_fail1877:;
   21325              :                               }
   21326              :                           }
   21327              :                       }
   21328              :                     }
   21329              :                   break;
   21330              :                 }
   21331              :               default:;
   21332              :               }
   21333              :           }
   21334      1368509 :         switch (TREE_CODE (_q20))
   21335              :           {
   21336          193 :           case MINUS_EXPR:
   21337          193 :             {
   21338          193 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21339          193 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21340          193 :               if (zerop (_q21))
   21341              :                 {
   21342          148 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21343              :                     {
   21344            0 :                       switch (TREE_CODE (_p2))
   21345              :                         {
   21346            0 :                         case MINUS_EXPR:
   21347            0 :                           {
   21348            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21349            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21350            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21351              :                               {
   21352            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21353              :                                   {
   21354            0 :                                     {
   21355            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21356            0 :                                       const enum tree_code cmp = LE_EXPR;
   21357            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21358            0 :  && !TYPE_UNSIGNED (type)
   21359              : )
   21360              :                                         {
   21361            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21362            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21363            0 :  && (!VECTOR_TYPE_P (type)
   21364            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21365            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21366              : )
   21367              :                                             {
   21368            0 :                                               {
   21369            0 :  tree utype = unsigned_type_for (type);
   21370            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1878;
   21371            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1878;
   21372            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1878;
   21373            0 :                                                   {
   21374            0 :                                                     tree res_op0;
   21375            0 :                                                     {
   21376            0 :                                                       tree _o1[1], _r1;
   21377            0 :                                                       {
   21378            0 :                                                         tree _o2[1], _r2;
   21379            0 :                                                         _o2[0] = captures[0];
   21380            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21381            0 :                                                         _o1[0] = _r2;
   21382              :                                                       }
   21383            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21384            0 :                                                       res_op0 = _r1;
   21385              :                                                     }
   21386            0 :                                                     tree _r;
   21387            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21388            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   21389            0 :                                                     return _r;
   21390              :                                                   }
   21391            0 : next_after_fail1878:;
   21392              :                                               }
   21393              :                                             }
   21394              :                                           else
   21395              :                                             {
   21396            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1879;
   21397            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1879;
   21398            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1879;
   21399            0 :                                               {
   21400            0 :                                                 tree res_op0;
   21401            0 :                                                 {
   21402            0 :                                                   tree _o1[1], _r1;
   21403            0 :                                                   _o1[0] = captures[0];
   21404            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21405            0 :                                                   res_op0 = _r1;
   21406              :                                                 }
   21407            0 :                                                 tree _r;
   21408            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   21409            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   21410            0 :                                                 return _r;
   21411              :                                               }
   21412            0 : next_after_fail1879:;
   21413              :                                             }
   21414              :                                         }
   21415              :                                     }
   21416              :                                   }
   21417              :                               }
   21418              :                             break;
   21419              :                           }
   21420              :                         default:;
   21421              :                         }
   21422              :                     }
   21423              :                 }
   21424              :               break;
   21425              :             }
   21426              :           default:;
   21427              :           }
   21428              :         break;
   21429              :       }
   21430      1760154 :     case LT_EXPR:
   21431      1760154 :       {
   21432      1760154 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21433      1760154 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21434      1760154 :         switch (TREE_CODE (_q20))
   21435              :           {
   21436        94655 :           CASE_CONVERT:
   21437        94655 :             {
   21438        94655 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21439        94655 :               if (zerop (_q21))
   21440              :                 {
   21441        15856 :                   switch (TREE_CODE (_p2))
   21442              :                     {
   21443            8 :                     case NEGATE_EXPR:
   21444            8 :                       {
   21445            8 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21446            8 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21447              :                           {
   21448            0 :                             {
   21449            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21450            0 :                               const enum tree_code cmp = LT_EXPR;
   21451            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21452            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21453            0 :  && element_precision (captures[1])
   21454            0 :  <= element_precision (captures[0])
   21455            0 :  && bitwise_equal_p (captures[1], captures[2])
   21456            0 :  && (!VECTOR_TYPE_P (type)
   21457            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21458            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21459              : )
   21460              :                                 {
   21461            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21462            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21463            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21464              : )
   21465              :                                     {
   21466            0 :                                       {
   21467            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21468            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21469            0 :                                           if (types_match (captures[0], stype)
   21470              : )
   21471              :                                             {
   21472            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1880;
   21473            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1880;
   21474            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
   21475            0 :                                               {
   21476            0 :                                                 tree res_op0;
   21477            0 :                                                 {
   21478            0 :                                                   tree _o1[1], _r1;
   21479            0 :                                                   {
   21480            0 :                                                     tree _o2[1], _r2;
   21481            0 :                                                     _o2[0] = captures[0];
   21482            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21483            0 :                                                     _o1[0] = _r2;
   21484              :                                                   }
   21485            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21486            0 :                                                   res_op0 = _r1;
   21487              :                                                 }
   21488            0 :                                                 tree _r;
   21489            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21490            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   21491            0 :                                                 return _r;
   21492              :                                               }
   21493            0 : next_after_fail1880:;
   21494              :                                             }
   21495              :                                           else
   21496              :                                             {
   21497            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1881;
   21498            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1881;
   21499            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
   21500            0 :                                               {
   21501            0 :                                                 tree res_op0;
   21502            0 :                                                 {
   21503            0 :                                                   tree _o1[1], _r1;
   21504            0 :                                                   {
   21505            0 :                                                     tree _o2[1], _r2;
   21506            0 :                                                     {
   21507            0 :                                                       tree _o3[1], _r3;
   21508            0 :                                                       _o3[0] = captures[2];
   21509            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   21510              :                                                         {
   21511            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21512              :                                                         }
   21513              :                                                       else
   21514              :                                                         _r3 = _o3[0];
   21515            0 :                                                       _o2[0] = _r3;
   21516              :                                                     }
   21517            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21518            0 :                                                     _o1[0] = _r2;
   21519              :                                                   }
   21520            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21521            0 :                                                   res_op0 = _r1;
   21522              :                                                 }
   21523            0 :                                                 tree _r;
   21524            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21525            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   21526            0 :                                                 return _r;
   21527              :                                               }
   21528            0 : next_after_fail1881:;
   21529              :                                             }
   21530              :                                       }
   21531              :                                     }
   21532              :                                   else
   21533              :                                     {
   21534            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1882;
   21535            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1882;
   21536            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
   21537            0 :                                       {
   21538            0 :                                         tree res_op0;
   21539            0 :                                         {
   21540            0 :                                           tree _o1[1], _r1;
   21541            0 :                                           {
   21542            0 :                                             tree _o2[1], _r2;
   21543            0 :                                             _o2[0] = captures[2];
   21544            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21545            0 :                                             _o1[0] = _r2;
   21546              :                                           }
   21547            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21548            0 :                                           res_op0 = _r1;
   21549              :                                         }
   21550            0 :                                         tree _r;
   21551            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21552            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   21553            0 :                                         return _r;
   21554              :                                       }
   21555            0 : next_after_fail1882:;
   21556              :                                     }
   21557              :                                 }
   21558              :                             }
   21559              :                           }
   21560              :                         break;
   21561              :                       }
   21562              :                     default:;
   21563              :                     }
   21564              :                 }
   21565              :               break;
   21566              :             }
   21567      1760154 :           default:;
   21568              :           }
   21569      1760154 :         if (zerop (_q21))
   21570              :           {
   21571       378935 :             switch (TREE_CODE (_p2))
   21572              :               {
   21573           33 :               case NEGATE_EXPR:
   21574           33 :                 {
   21575           33 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21576           33 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21577              :                     {
   21578           25 :                       {
   21579           25 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21580           25 :                         const enum tree_code cmp = LT_EXPR;
   21581           25 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21582           25 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21583           50 :  && element_precision (captures[1])
   21584           25 :  <= element_precision (captures[0])
   21585           25 :  && bitwise_equal_p (captures[1], captures[2])
   21586           50 :  && (!VECTOR_TYPE_P (type)
   21587            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21588            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21589              : )
   21590              :                           {
   21591           50 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21592           25 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21593           26 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21594              : )
   21595              :                               {
   21596           24 :                                 {
   21597           24 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21598           24 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21599           24 :                                     if (types_match (captures[0], stype)
   21600              : )
   21601              :                                       {
   21602           24 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1883;
   21603           24 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1883;
   21604           24 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
   21605           24 :                                         {
   21606           24 :                                           tree res_op0;
   21607           24 :                                           {
   21608           24 :                                             tree _o1[1], _r1;
   21609           24 :                                             {
   21610           24 :                                               tree _o2[1], _r2;
   21611           24 :                                               _o2[0] = captures[0];
   21612           24 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21613           24 :                                               _o1[0] = _r2;
   21614              :                                             }
   21615           24 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21616           24 :                                             res_op0 = _r1;
   21617              :                                           }
   21618           24 :                                           tree _r;
   21619           24 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21620           24 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   21621           24 :                                           return _r;
   21622              :                                         }
   21623            0 : next_after_fail1883:;
   21624              :                                       }
   21625              :                                     else
   21626              :                                       {
   21627            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1884;
   21628            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1884;
   21629            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
   21630            0 :                                         {
   21631            0 :                                           tree res_op0;
   21632            0 :                                           {
   21633            0 :                                             tree _o1[1], _r1;
   21634            0 :                                             {
   21635            0 :                                               tree _o2[1], _r2;
   21636            0 :                                               {
   21637            0 :                                                 tree _o3[1], _r3;
   21638            0 :                                                 _o3[0] = captures[2];
   21639            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21640              :                                                   {
   21641            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21642              :                                                   }
   21643              :                                                 else
   21644              :                                                   _r3 = _o3[0];
   21645            0 :                                                 _o2[0] = _r3;
   21646              :                                               }
   21647            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21648            0 :                                               _o1[0] = _r2;
   21649              :                                             }
   21650            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21651            0 :                                             res_op0 = _r1;
   21652              :                                           }
   21653            0 :                                           tree _r;
   21654            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21655            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   21656            0 :                                           return _r;
   21657              :                                         }
   21658            0 : next_after_fail1884:;
   21659              :                                       }
   21660              :                                 }
   21661              :                               }
   21662              :                             else
   21663              :                               {
   21664            1 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1885;
   21665            1 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1885;
   21666            1 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
   21667            1 :                                 {
   21668            1 :                                   tree res_op0;
   21669            1 :                                   {
   21670            1 :                                     tree _o1[1], _r1;
   21671            1 :                                     {
   21672            1 :                                       tree _o2[1], _r2;
   21673            1 :                                       _o2[0] = captures[2];
   21674            1 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21675            1 :                                       _o1[0] = _r2;
   21676              :                                     }
   21677            1 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21678            1 :                                     res_op0 = _r1;
   21679              :                                   }
   21680            1 :                                   tree _r;
   21681            1 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21682            1 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   21683            1 :                                   return _r;
   21684              :                                 }
   21685            0 : next_after_fail1885:;
   21686              :                               }
   21687              :                           }
   21688              :                       }
   21689              :                     }
   21690              :                   break;
   21691              :                 }
   21692              :               default:;
   21693              :               }
   21694              :           }
   21695      1760129 :         switch (TREE_CODE (_q20))
   21696              :           {
   21697        11288 :           case MINUS_EXPR:
   21698        11288 :             {
   21699        11288 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21700        11288 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21701        11288 :               if (zerop (_q21))
   21702              :                 {
   21703         7378 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21704              :                     {
   21705            0 :                       switch (TREE_CODE (_p2))
   21706              :                         {
   21707            0 :                         case MINUS_EXPR:
   21708            0 :                           {
   21709            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21710            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21711            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21712              :                               {
   21713            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21714              :                                   {
   21715            0 :                                     {
   21716            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21717            0 :                                       const enum tree_code cmp = LT_EXPR;
   21718            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21719            0 :  && !TYPE_UNSIGNED (type)
   21720              : )
   21721              :                                         {
   21722            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21723            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21724            0 :  && (!VECTOR_TYPE_P (type)
   21725            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21726            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21727              : )
   21728              :                                             {
   21729            0 :                                               {
   21730            0 :  tree utype = unsigned_type_for (type);
   21731            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1886;
   21732            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1886;
   21733            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1886;
   21734            0 :                                                   {
   21735            0 :                                                     tree res_op0;
   21736            0 :                                                     {
   21737            0 :                                                       tree _o1[1], _r1;
   21738            0 :                                                       {
   21739            0 :                                                         tree _o2[1], _r2;
   21740            0 :                                                         _o2[0] = captures[0];
   21741            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21742            0 :                                                         _o1[0] = _r2;
   21743              :                                                       }
   21744            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21745            0 :                                                       res_op0 = _r1;
   21746              :                                                     }
   21747            0 :                                                     tree _r;
   21748            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21749            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   21750            0 :                                                     return _r;
   21751              :                                                   }
   21752            0 : next_after_fail1886:;
   21753              :                                               }
   21754              :                                             }
   21755              :                                           else
   21756              :                                             {
   21757            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1887;
   21758            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1887;
   21759            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1887;
   21760            0 :                                               {
   21761            0 :                                                 tree res_op0;
   21762            0 :                                                 {
   21763            0 :                                                   tree _o1[1], _r1;
   21764            0 :                                                   _o1[0] = captures[0];
   21765            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21766            0 :                                                   res_op0 = _r1;
   21767              :                                                 }
   21768            0 :                                                 tree _r;
   21769            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   21770            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   21771            0 :                                                 return _r;
   21772              :                                               }
   21773            0 : next_after_fail1887:;
   21774              :                                             }
   21775              :                                         }
   21776              :                                     }
   21777              :                                   }
   21778              :                               }
   21779              :                             break;
   21780              :                           }
   21781              :                         default:;
   21782              :                         }
   21783              :                     }
   21784              :                 }
   21785              :               break;
   21786              :             }
   21787      1760129 :           default:;
   21788              :           }
   21789      1760129 :         if (integer_zerop (_q21))
   21790              :           {
   21791       322732 :             switch (TREE_CODE (_p1))
   21792              :               {
   21793           21 :               case BIT_NOT_EXPR:
   21794           21 :                 {
   21795           21 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   21796           21 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   21797              :                     {
   21798           13 :                       {
   21799           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   21800           13 :                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   21801           13 :                         if (res) return res;
   21802              :                       }
   21803              :                     }
   21804              :                   break;
   21805              :                 }
   21806       322719 :               default:;
   21807              :               }
   21808       322719 :             switch (TREE_CODE (_p2))
   21809              :               {
   21810            8 :               case BIT_NOT_EXPR:
   21811            8 :                 {
   21812            8 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21813            8 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21814              :                     {
   21815            8 :                       {
   21816            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21817            8 :                         tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   21818            8 :                         if (res) return res;
   21819              :                       }
   21820              :                     }
   21821              :                   break;
   21822              :                 }
   21823       322711 :               default:;
   21824              :               }
   21825       322711 :             switch (TREE_CODE (_p1))
   21826              :               {
   21827       286413 :               case INTEGER_CST:
   21828       286413 :                 {
   21829       286413 :                   if (integer_zerop (_p2))
   21830              :                     {
   21831         8873 :                       {
   21832         8873 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21833         8873 :                         if (integer_pow2p (captures[1])
   21834         8873 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   21835              : )
   21836              :                           {
   21837         8608 :                             {
   21838         8608 :  int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
   21839         8608 :                                 if (shift >= 0
   21840              : )
   21841              :                                   {
   21842         8593 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1888;
   21843         8593 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1888;
   21844         8593 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1888;
   21845         8593 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1888;
   21846         8593 :                                     {
   21847         8593 :                                       tree res_op0;
   21848         8593 :                                       {
   21849         8593 :                                         tree _o1[1], _r1;
   21850         8593 :                                         {
   21851         8593 :                                           tree _o2[2], _r2;
   21852         8593 :                                           _o2[0] = captures[0];
   21853         8593 :                                           _o2[1] =  build_int_cst (integer_type_node, shift);
   21854         8593 :                                           _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   21855         8593 :                                           _o1[0] = _r2;
   21856              :                                         }
   21857         8593 :                                         if (TREE_TYPE (_o1[0]) != type)
   21858              :                                           {
   21859         8568 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   21860              :                                           }
   21861              :                                         else
   21862              :                                           _r1 = _o1[0];
   21863         8593 :                                         res_op0 = _r1;
   21864              :                                       }
   21865         8593 :                                       tree res_op1;
   21866         8593 :                                       res_op1 = captures[1];
   21867         8593 :                                       tree _r;
   21868         8593 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   21869         8593 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   21870         8608 :                                       return _r;
   21871              :                                     }
   21872              : next_after_fail1888:;
   21873              :                                   }
   21874              :                                 else
   21875              :                                   {
   21876           15 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1889;
   21877           15 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1889;
   21878           15 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1889;
   21879           15 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1889;
   21880           15 :                                     {
   21881           15 :                                       tree res_op0;
   21882           15 :                                       {
   21883           15 :                                         tree _o1[1], _r1;
   21884           15 :                                         _o1[0] = captures[0];
   21885           15 :                                         if (TREE_TYPE (_o1[0]) != type)
   21886              :                                           {
   21887           15 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   21888              :                                           }
   21889              :                                         else
   21890              :                                           _r1 = _o1[0];
   21891           15 :                                         res_op0 = _r1;
   21892              :                                       }
   21893           15 :                                       tree res_op1;
   21894           15 :                                       res_op1 = captures[1];
   21895           15 :                                       tree _r;
   21896           15 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   21897           15 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   21898           15 :                                       return _r;
   21899              :                                     }
   21900              : next_after_fail1889:;
   21901              :                                   }
   21902              :                             }
   21903              :                           }
   21904              :                       }
   21905              :                     }
   21906              :                   break;
   21907              :                 }
   21908              :               default:;
   21909              :               }
   21910              :           }
   21911              :         break;
   21912              :       }
   21913     11526186 :     default:;
   21914              :     }
   21915     11526186 : {
   21916     11526186 :   tree _p0_pops[1];
   21917     11526186 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   21918              :     {
   21919       468902 :       tree _q20 = _p0_pops[0];
   21920       468902 :       if (tree_truth_valued_p (_q20))
   21921              :         {
   21922         4464 :           {
   21923         4464 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   21924         8928 :             if (COND_EXPR == VEC_COND_EXPR
   21925         4464 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   21926              : )
   21927              :               {
   21928         3150 :                 if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1890;
   21929           46 :                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1890;
   21930           37 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1890;
   21931           37 :                 {
   21932           37 :                   tree res_op0;
   21933           37 :                   res_op0 = captures[0];
   21934           37 :                   tree res_op1;
   21935           37 :                   res_op1 = captures[2];
   21936           37 :                   tree res_op2;
   21937           37 :                   res_op2 = captures[1];
   21938           37 :                   tree _r;
   21939           37 :                   _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   21940           37 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   21941           37 :                   return _r;
   21942              :                 }
   21943         4427 : next_after_fail1890:;
   21944              :               }
   21945              :           }
   21946              :         }
   21947              :     }
   21948              : }
   21949     11526149 :   return NULL_TREE;
   21950              : }
   21951              : #pragma GCC diagnostic pop
        

Generated by: LCOV version 2.4-beta

LCOV profile is generated on x86_64 machine using following configure options: configure --disable-bootstrap --enable-coverage=opt --enable-languages=c,c++,fortran,go,jit,lto,rust,m2 --enable-host-shared. GCC test suite is run with the built compiler.